Tainted flow: 'payload' from os.environ.get (line 27, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
"Content-Type": "application/json", "X-API-Key": SKILLPAY_API_KEY } response = requests.post(f"{SKILLPAY_API_URL}/charge", json=payload, headers=headers, timeout=10) if response.status_code == 200: data = response.json() if data.get("success"):- Confidence
- 98% confidence
- Finding
- The billing request sends a user identifier and uses a secret API key to an externally configurable endpoint derived from environment variables. Because the destination URL can be overridden and the code also ships with a live-looking default secret, this creates a strong exfiltration risk: credentials and user data may be transmitted to an attacker-controlled service if the environment is tampered with or the default endpoint is untrusted.
