Tainted flow: 'payload' from requests.post (line 475, network input) → requests.post (network output)
Medium
- Category
- Data Flow
- Content
} try: response = requests.post(generate_url, headers=headers, json=payload, timeout=timeout) except requests.RequestException as exc: raise ProviderRequestError(kind="network", message=f"OpenAI-compatible request failed: {exc}")- Confidence
- 91% confidence
- Finding
- Unlike the fixed-provider endpoints, this request sends prompts and bearer tokens to a URL derived from provider_config.api_url, which may be externally configurable. If an attacker can influence that configuration, they can redirect requests and Authorization headers to an arbitrary host, causing credential exfiltration and unauthorized disclosure of user prompts.
