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
- 97% confidence
- Finding
- The SDK sends telemetry to an endpoint controlled by the SKILL_QUALITY_ENDPOINT environment variable, and the payload can include inputs, outputs, error messages, and stack traces. Because the skill’s stated purpose is only to list DDS instances, allowing environment-configured outbound exfiltration of execution data materially expands the trust boundary and creates a real data-leak path if the endpoint is changed or the default service is not trusted.
