Tainted flow: 'req' from os.environ.get (line 69, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
) try: with urllib.request.urlopen(req, timeout=timeout) as resp: data = json.loads(resp.read()) except urllib.error.HTTPError as e: err_body = e.read().decode("utf-8", errors="replace")[:500]- Confidence
- 94% confidence
- Finding
- The request target is influenced by environment-controlled configuration via OFOX_BASE_URL and then used in urllib.request.urlopen without validation. In environments where an attacker can set or influence process environment variables, this enables server-side request forgery or credential exfiltration by sending the Bearer token to an attacker-controlled endpoint instead of the intended Ofox service.
