Tainted flow: 'request' from os.environ.get (line 380, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
"Accept": "image/png,image/*,*/*", }, ) with urllib.request.urlopen(request, timeout=timeout) as resp, open(destination, "wb") as f: while True: chunk = resp.read(1024 * 256) if not chunk:- Confidence
- 95% confidence
- Finding
- The client downloads arbitrary HTTPS URLs discovered in API responses and writes them to disk. Although intended for asset retrieval, this creates an SSRF-style outbound fetch primitive and untrusted file write path in the agent context: a compromised API, test endpoint, or allowed custom base could cause the tool to contact attacker-controlled hosts, internal services, or very large files.
