Tainted flow: 'req' from os.environ.get (line 72, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
method="POST", ) try: with urlopen(req, timeout=150) as response: return json.loads(response.read().decode("utf-8")) except HTTPError as e: body = e.read().decode("utf-8") if e.fp else ""- Confidence
- 93% confidence
- Finding
- The request sent via `urlopen` includes multiple headers sourced directly from environment variables, and the destination base URL is also overrideable through `LINKFOX_TOOL_GATEWAY`. This creates a real exfiltration path: secrets and session metadata can be transmitted to an attacker-controlled endpoint if the environment is manipulated, which is especially risky in agent/runtime environments where env vars often contain sensitive context.
