Tainted flow: 'url' from os.environ.get (line 131, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
} try: response = requests.post(url, headers=headers, json=payload, timeout=120) except requests.exceptions.Timeout: raise RuntimeError("API 请求超时(超过120秒),请检查网络连接后重试。") except requests.exceptions.ConnectionError:- Confidence
- 95% confidence
- Finding
- The request URL is derived from the environment-controlled API_BASE value and then used in requests.post, while the payload includes the user's full input text and the Authorization bearer token. If API_BASE is changed to an attacker-controlled host or insecure internal endpoint, this becomes an exfiltration/SSRF-style sink that can leak sensitive user content and credentials.
