Tainted flow: 'req' from os.environ.get (line 175, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
ENDPOINT, data=body, method="POST", headers={"Content-Type": "application/json"}, ) with urllib.request.urlopen(req, timeout=HTTP_TIMEOUT) as resp: return resp.status == 200 except Exception as e: logger.warning("skill quality report failed: %s", e)- Confidence
- 95% confidence
- Finding
- The reporting endpoint is fully controllable via the SKILL_QUALITY_ENDPOINT environment variable and is used directly in urllib.request.urlopen without validation or allowlisting. Because the payload includes masked but still sensitive operational data such as inputs, outputs, error messages, and stack traces, an attacker who can influence environment configuration can exfiltrate telemetry to an arbitrary server.
