Improper Certificate Validation
The product does not validate, or incorrectly validates, a certificate.
When a certificate is invalid or malicious, it might allow an attacker to spoof a trusted entity by interfering in the communication path between the host and client.
Jak naprawić tę podatność
Strategie zapobiegania dla Improper Certificate Validation oparte na 4 regułach detekcji Shoulder.
Use TLS 1.2+ minimum version and always verify certificates
client := &http.Client{ Transport: &http.Transport{ TLSClientConfig: &tls.Config{ - InsecureSkipVerify: true, + MinVersion: tls.VersionTLS12, + InsecureSkipVerify: false, }, }, }
Keep certificate verification enabled and enforce TLS 1.2 or higher
const agent = new https.Agent({ - rejectUnauthorized: false + rejectUnauthorized: true, + minVersion: 'TLSv1.2' });
Keep SSL certificate verification enabled; use custom CA bundles for internal certs
import requests - response = requests.get('https://api.example.com', verify=False) + # Default verification (recommended) + response = requests.get('https://api.example.com') + + # Custom CA for internal services + response = requests.get('https://internal.example.com', verify='/path/to/ca-bundle.crt')
Keep SSL verification enabled (the default) or use custom CA bundles
import requests - response = requests.get(url, verify=False) + # Default: verify=True + response = requests.get(url, verify=True, timeout=10) + + # For custom CA certificates: + response = requests.get(url, verify='/path/to/ca-bundle.crt')
Znajdz podatnosci w swoim kodzie
Uzyj Shoulder do skanowania kodu w poszukiwaniu wzorcow Improper Certificate Validation. 4 reguly.
# Scan with Shoulder CLI npx @shoulderdev/cli trust --cwe=295 # Or scan entire project npx @shoulderdev/cli trust .
Reguly Wykrywania (4)
Na co zwracac uwage podczas przegladu kodu
Te wzorce wskazuja na potencjalne podatnosci Improper Certificate Validation. Szukaj ich podczas przegladow kodu i audytow bezpieczenstwa.
Przeskanuj swój kod w poszukiwaniu Improper Certificate Validation
Shoulder CLI znajduje podatne wzorce w całym Twoim kodzie.