Tainted flow: 'req' from os.environ.get (line 64, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
headers={"Content-Type": "application/json"}, method="POST", ) with urllib.request.urlopen(req, timeout=30) as resp: return json.loads(resp.read().decode("utf-8"))- Confidence
- 92% confidence
- Finding
- The code sends app_id and secret_key to a network endpoint derived from the CHANJING_API_BASE environment variable. If that environment variable is attacker-controlled, the skill can be tricked into exfiltrating long-lived credentials to an arbitrary server over HTTPS, which is especially dangerous in an agent/runtime context where environment variables may be injected by the caller or host.
