The http.client module provides low-level HTTP primitives. HTTPConnection / HTTPSConnection.request() is an SSRF sink when the host or path comes from user input. HTTPSConnection with context=None falls back to system default TLS settings.
.HTTPConnection().HTTPSConnection().request().HTTPConnection()Sinkhttp.client.HTTPConnection(host, port=None, ...) -> HTTPConnection
Opens an HTTP connection. SSRF sink when host is user-controlled.
0.HTTPSConnection()Sinkhttp.client.HTTPSConnection(host, port=None, *, context=None, ...) -> HTTPSConnection
Opens an HTTPS connection. SSRF sink on host. context=None uses defaults.
0.request()SinkHTTPConnection.request(method: str, url: str, body=None, headers={}) -> NoneSends an HTTP request. SSRF sink when url is user-controlled.
1| FQN | Field | |
|---|---|---|
| http.client | fqns[0] | |
| http.client.HTTPConnection | fqns[1] | |
| http.client.HTTPSConnection | fqns[2] |
Wrong FQN → 0 findings. Verify with: change fqns to garbage → must produce 0 results.
from codepathfinder.go_rule import PyHttpClient