B501: Test for missing certificate validation¶
Encryption in general is typically critical to the security of many applications. Using TLS can greatly increase security by guaranteeing the identity of the party you are communicating with. This is accomplished by one or both parties presenting trusted certificates during the connection initialization phase of TLS.
When HTTPS request methods are used, certificates are validated automatically which is the desired behavior. If certificate validation is explicitly turned off Bandit will return a HIGH severity error.
>> Issue: [request_with_no_cert_validation] Call to requests with verify=False disabling SSL certificate checks, security issue. Severity: High Confidence: High CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html) Location: examples/requests-ssl-verify-disabled.py:4 3 requests.get('https://gmail.com', verify=True) 4 requests.get('https://gmail.com', verify=False) 5 requests.post('https://gmail.com', verify=True)
New in version 0.9.0.
Changed in version 1.7.3: CWE information added
Changed in version 1.7.5: Added check for httpx module