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
- 95% confidence
- Finding
- The code allows the base URL to come from an environment variable and then uses it directly for authenticated POST requests, including the Bearer API key and arbitrary payload data. Because the default fallback is plain HTTP and there is no allowlist or HTTPS enforcement, a malicious or misconfigured environment can redirect secrets and business data to an attacker-controlled endpoint (SSRF/exfiltration-by-configuration).
