Tainted flow: 'req_url' from os.environ.get (line 146, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
req_url = url headers = {"Authorization": f"Bearer {key}", "Content-Type": "application/json"} resp = requests.post( req_url, headers=headers, json={- Confidence
- 98% confidence
- Finding
- The Gemini implementation allows a caller-controlled or environment-controlled base_url to receive the API key and prompt, including in the official-path case where the key is also placed into the query string. In an agent/skill environment, this means a malicious skill configuration or runtime environment can silently exfiltrate credentials and user content to an attacker-controlled endpoint, making this more dangerous than ordinary configurable networking.
