Tainted flow: 'url' from os.environ.get (line 61, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
'model': 'image-01', 'prompt': prompt } resp = requests.post(url, headers=headers, json=payload, timeout=60) if resp.status_code != 200: return {"error": f"API error {resp.status_code}: {resp.text[:200]}"}- Confidence
- 95% confidence
- Finding
- The request destination is derived from MINIMAX_BASE_URL, an environment variable that can be changed to an attacker-controlled host. Because the code always attaches the Bearer API key in the Authorization header, a poisoned base URL can exfiltrate the credential and all submitted prompts to an arbitrary server, creating an SSRF-style outbound credential leak.
