T09 · Insecure Skill Coding Practices
- Location
scripts/scrape.py:22- Finding
TLS Certificate and Hostname Verification Disabled
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This web-scraping skill has a coherent purpose, but it silently weakens HTTPS security and can fetch arbitrary internal or local URLs from the agent's environment.
Review this skill before installing. Use it only in a constrained environment, avoid authenticated or sensitive targets, do not scrape private/internal URLs, and treat saved output as potentially sensitive. The TLS verification bypass should be removed or made an explicit insecure opt-in before routine use.
scripts/scrape.py:22TLS Certificate and Hostname Verification Disabled
scripts/scrape.py:27Unrestricted User-Controlled URL Fetching Enables SSRF and Local Resource Access
The skill advertises network access and local file output behavior but does not declare any explicit tool scope such as allowed-tools or permissions. That creates an authorization gap where an agent may invoke network and file-write capabilities without clear least-privilege boundaries, increasing the chance of unintended scraping, data exfiltration, or unsafe local writes.
The description is broad enough to match many generic research, shopping, news, and dataset-building requests, which can cause over-triggering of a skill with network and file-write capabilities. In an agent environment, overly broad activation increases the risk that scraping actions occur in contexts where the user did not specifically intend external collection or data persistence.
The documentation explicitly supports authenticated scraping and writing results to local files, but it does not warn about credential storage, session handling, sensitive content capture, or the risks of persisting scraped data. This is especially concerning in a scraping skill because authentication plus file output can expose secrets, collect private data, or leave sensitive artifacts on disk.
The scraper explicitly disables TLS certificate validation and hostname verification before fetching remote content. This allows a man-in-the-middle attacker to intercept or modify HTTPS responses, defeating transport security and causing the scraper to consume tampered data from sites and APIs.
Network requests to potentially sensitive HTTPS endpoints are made with certificate verification disabled and no meaningful warning to the user. An attacker on the network path could spoof the target server, inject false content, or harvest requested data while the user believes the connection is protected.
The script writes extracted content to a user-specified path in multiple formats, which is a file-write operation covered by the warning requirement. While it prints 'Saved to' after writing, there is no prior confirmation, warning, or documentation that data will be persisted to disk and may overwrite an existing file.
No suspicious patterns detected.