Tainted flow: 'url' from os.environ.get (line 235, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
except RuntimeError as e: return {"_error": str(e)} try: r = requests.post(url, json=body or {}, headers=headers, timeout=timeout) return r.json() except Exception as e: body_text = ""- Confidence
- 91% confidence
- Finding
- The POST target URL is derived from environment-configurable base URLs, so an attacker controlling the runtime environment can redirect login and token-exchange traffic to an arbitrary host. Because these requests can carry phone numbers, SMS codes, access tokens, refresh tokens, and generated API keys, this becomes an exfiltration and credential-theft risk rather than a harmless configuration feature.
