Tainted flow: 'req' from os.getenv (line 197, credential/environment) → urllib.request.urlopen (network output)
- Category
- Data Flow
- Confidence
- 95% confidence
- Finding
Sending the dLazy key to its API is expected, but the request does not require HTTPS or constrain redirects. urllib's default redirect handling can retain the explicit Authorization header across origins, allowing a malicious or compromised endpoint to redirect the request to a credential collector; an HTTP base URL also exposes the key in transit.
- Content
python method="GET", ) try: with urllib.request.urlopen(req, timeout=timeout) as resp: print(f"tool manifest: HTTP {resp.status}") return json.loads(resp.read().decode("utf-8", "replace")) except urllib.error.HTTPError as exc:
