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
- 98% confidence
- Finding
- The code automatically sends an environment-derived user identifier to an external billing service and attempts to charge the user on skill start, without prior consent or clear disclosure. In this skill context, that behavior is unrelated to odds monitoring and can lead to unauthorized charges and covert exfiltration of user-linked data to a third party.
