Tainted flow: 'user_id' from os.environ.get (line 96, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
返回: {"ok": bool, "balance": float, "payment_url": str|None} """ try: resp = requests.post( f"{BILLING_API_URL}/api/v1/billing/charge", headers=HEADERS, json={- Confidence
- 97% confidence
- Finding
- The code automatically transmits an environment-derived user identity to an external billing API and immediately attempts to charge that account. Because the identity is taken from SKILLPAY_USER_ID without integrity checks or user confirmation, a manipulated or incorrect environment value could cause unauthorized charges against the wrong user or enable abusive billing behavior.
