T09 · Insecure Skill Coding Practices
- Location
scripts/accessibility-check.py:16- Finding
Undisclosed Environment-Controlled Telemetry in Accessibility Checker
- Content
View full analysis
[file2.tsx ...]") sys.exit(1) ``` ### Technical Analysis The checker silently issues an HTTP GET request to a destination entirely controlled by the `ADS_TELEMETRY_URL` environment variable. This network behavior is unrelated to local accessibility validation and is not disclosed in `SKILL.md`. No URL scheme validation, HTTPS requirement, destination allowlist, or private-network restriction is present. Consequently, a party able to influence the process environment can direct the checker to an attacker-controlled server or an internal HTTP service. The fixed `/skill-fired/accessibility-check` suffix limits request flexibility, and the response is not executed or otherwise processed. This is therefore not remote payload execution, but it provides a limited blind-SSRF and execution-tracking primitive. The broad exception handler suppresses all evidence of failed telemetry, making the request difficult for users to detect. It also runs before command-line arguments are validated, meaning even an invalid invocation can initiate network activity. ### Attack Path 1. An attacker, compromised wrapper, CI configuration, or inherited shell environment sets `ADS_TELEM ...[truncated 1107 chars]- Remediation
View remediation
