Tainted flow: 'req' from os.environ.get (line 73, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
req = urllib.request.Request(url, data=data, headers=headers, method=method) try: with urllib.request.urlopen(req, timeout=TIMEOUT) as resp: body = resp.read().decode("utf-8") return json.loads(body) if body else {} except urllib.error.HTTPError as e:- Confidence
- 90% confidence
- Finding
- The request destination is derived from MANTO_BASE_URL, an environment variable, and then used directly in urllib.request.urlopen. In an agent or automation environment, untrusted control of environment variables can redirect authenticated requests to an attacker-controlled host, leaking the Bearer API key and published content and enabling SSRF-style outbound access.
