Tainted flow: 'req' from os.environ.get (line 288, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
}, method="POST" ) resp = urllib.request.urlopen(req, timeout=60) result = json.loads(resp.read()) text = result["content"][0]["text"].strip()- Confidence
- 93% confidence
- Finding
- The script allows API_HUB_BASE to be overridden from environment variables and then sends the full article title corpus plus the API_HUB_KEY to that endpoint. In a hostile or misconfigured runtime, this can redirect sensitive briefing data and credentials to an attacker-controlled server, creating both secret exposure and data exfiltration risk.
