T09 · Insecure Skill Coding Practices
- Location
summarize.py:67- 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 summarization skill, but its unrestricted URL fetching should be reviewed before use in network-sensitive environments.
Install only in environments where arbitrary outbound HTTP(S) requests are acceptable. Avoid using --url on untrusted prompts or links when the runtime can reach internal services, and avoid summarizing confidential local files unless you trust the execution environment and its logs/output handling.
summarize.py:67Unrestricted URL Fetching Enables Server-Side Request Forgery
The skill advertises capabilities to read local files and fetch remote webpages, but it does not declare any explicit tool scope such as permissions or allowed-tools. This creates an authorization ambiguity where an agent or runtime may grant broader-than-necessary access, increasing the risk of unintended file access or network retrieval in a context that can process sensitive data.
The skill encourages summarizing local documents and fetched webpages but does not warn users that the processed content may contain private, regulated, or otherwise sensitive information. This can lead to accidental exposure of confidential data to the summarization pipeline, logs, downstream models, or remote fetch components without informed user consent.
This code hard-codes a specific output encoding and presents descriptions/messages in Chinese, which constitutes a language/locale constraint with no user opt-in or documented justification. The policy allows locale constraints only when user choice is offered or the constraint is clearly justified.
The manifest and user-facing instructions are written entirely in Chinese, while the capability list says the skill supports both Chinese and English. There is no explicit language choice or opt-in mechanism, so the default presentation may impose a specific language/locale on users.