T09 · Insecure Skill Coding Practices
- Location
scripts/deadlinks.py:218- Finding
Unrestricted URL Fetching Enables Server-Side Request Forgery
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a straightforward broken-link checker that reads Markdown files and optionally makes outbound web requests, with no hidden persistence or credential behavior found.
Installers should treat this as a normal link-checking utility, but avoid running external checks or crawl mode on untrusted documents or from sensitive internal networks unless outbound targets are acceptable. It is best used with explicit paths, shallow crawl depth, reasonable timeouts, and network controls when needed.
scripts/deadlinks.py:218Unrestricted URL Fetching Enables Server-Side Request Forgery
The skill advertises and demonstrates filesystem reading and network access, but it does not declare any explicit tool scope such as permissions or allowed-tools. That creates an authorization gap: an agent may invoke the skill with broader file-read or outbound network capabilities than a user expects, enabling unintended access to local documents or requests to arbitrary URLs during link checking.
The README explicitly advertises checking external HTTP(S) links and website crawling, but it does not warn users that running the tool will initiate outbound requests to user-provided and discovered URLs. This can surprise users in sensitive environments and may cause unintended network access, metadata leakage, or interaction with internal resources if used on untrusted content.
This skill performs outbound HTTP requests to arbitrary URLs found in local Markdown files and during site crawling without an explicit safety confirmation or warning at execution time. In an agent setting, that can cause unintended network access to internal services, sensitive endpoints, or attacker-controlled URLs embedded in documents, creating SSRF-like exposure and privacy leakage even though the tool's stated purpose is link checking.