Tainted flow: 'req' from os.environ.get (line 59, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
method="POST", ) with urllib.request.urlopen(req) as resp: result = json.loads(resp.read().decode("utf-8")) return result- Confidence
- 94% confidence
- Finding
- The request destination is derived from the ARK_API_URL environment variable and then used directly in urllib.request.urlopen with an Authorization bearer token header. If an attacker can influence the environment or deployment configuration, they can redirect the request to an arbitrary host and capture the API key, making this a real SSRF/credential-exfiltration risk rather than a harmless configuration read.
