Tainted flow: 'req' from os.environ.get (line 121, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
}, data=b"{}", # POST body required ) with urllib.request.urlopen(req, timeout=10) as resp: data = json.loads(resp.read().decode("utf-8")) # 修正:使用 valid 字段 if data.get("valid", False):- Confidence
- 98% confidence
- Finding
- The code sends a bearer token derived from user input or the OPENAI_API_KEY environment variable to an external domain for plan verification. That creates a real credential-exfiltration path because a sensitive API key unrelated to file conversion is transmitted off-host, and the skill context makes this more dangerous since token verification is not necessary to perform local format conversion.
