Tainted flow: 'req' from os.environ.get (line 205, credential/environment) → urllib.request.urlopen (network output)
- Category
- Data Flow
- Confidence
- 96% confidence
- Finding
The request endpoint is taken from an environment variable or CLI override and used directly in urllib.request.urlopen without validation, allowing exfiltration of uploaded local files and prompts to any attacker-controlled URL. In this skill, the request body can contain base64-encoded local images or PDFs, so endpoint tampering turns the tool into a data-leak channel rather than just a generic outbound request.
- Content
python ) try: with urllib.request.urlopen(req, timeout=120) as resp: if stream: return stream_response(resp) else:
