T09 · Insecure Skill Coding Practices
- Location
summarizer.ts:13- Finding
Untrusted Message Content Is Directly Interpolated into the LLM Prompt
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a simple summarization skill that uses an LLM on the user's message, with no evidence of hidden persistence, credential access, local file access, or destructive behavior.
Install only if you want automatic summarization. Be aware it may run on long messages even without a direct summary request, and do not paste confidential, regulated, or private text unless your configured LLM provider is acceptable for that data.
summarizer.ts:13Untrusted Message Content Is Directly Interpolated into the LLM Prompt
The trigger terms include generic words like 'brief' and broad regex matching, which may collide with normal conversation and activate the skill outside the user's intended context. Because the skill is designed for automatic activation, weakly scoped keywords make accidental processing more likely and can lead to unintended handling of user content.
The skill auto-activates on any pure-text input over 100 characters even without an explicit user request, which can cause unsolicited processing of ordinary conversations, emails, or other sensitive content. In an agent setting, broad implicit triggers increase the chance of accidental invocation, privacy overreach, and unexpected behavior.
Natural-language strings instruct the assistant to operate in Chinese (请总结..., 你是一个专业的摘要助手) and the skill metadata is also Chinese-only. The file does not offer opt-in language selection or explain that this is a region-specific skill, which creates a locale policy concern.
The skill forwards the entire user message directly to an external LLM for summarization, and this file contains no notice, consent flow, or minimization logic before transmission. If users paste sensitive personal, confidential, or regulated data, that data may be unnecessarily disclosed to the model provider, creating privacy and compliance risk even though the feature itself is expected to summarize text.
No suspicious patterns detected.