Tainted flow: 'req' from os.environ.get (line 103, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
) try: with urllib.request.urlopen(req, timeout=15) as resp: result = json.loads(resp.read()) if result.get("success"): return result["data"]["url"]- Confidence
- 99% confidence
- Finding
- The code reads IMGFLIP_USER and IMGFLIP_PASS from the environment, falls back to hardcoded default credentials, and transmits them in an outbound request to a third-party service. This is a real credential-handling issue because secrets are exfiltrated off-host by design, and the embedded fallback account materially increases abuse risk if the code is reused or exposed.
