Tainted flow: 'url' from os.getenv (line 271, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
} if body is not None: kwargs["json"] = body return requests.post(url, **kwargs) def _raise_for_status(resp: requests.Response) -> None:- Confidence
- 96% confidence
- Finding
- The client builds request destinations from a base URL that can come directly from the environment and then sends authenticated requests with a Bearer token and arbitrary payloads to that URL. Because there is no allowlist, scheme enforcement, or host validation, an attacker who can influence TOKENAPI_BASE_URL can redirect secrets and user data to an attacker-controlled endpoint, creating SSRF-style exfiltration and credential leakage risk.
