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
- 96% confidence
- Finding
- The POST target is derived from environment-controlled base URLs via _login_base/_agent_user_base, and the request can carry highly sensitive data including SMS login credentials, access tokens, refresh tokens, UID headers, and group identifiers. If an attacker can influence environment variables in the runtime, the CLI will exfiltrate those secrets to an attacker-controlled endpoint, making this an SSRF/exfiltration risk rather than a harmless configuration pattern.
