T09 · Insecure Skill Coding Practices
- Location
debug-companion.js:105- Finding
Sensitive traceback data is retained and rendered without the documented redaction
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This debugging skill is mostly purpose-aligned, but it misleadingly promises automatic redaction while retaining and displaying raw traceback and context data that may contain secrets.
Review this skill carefully before installing. It is a normal debugging helper, but do not paste production tracebacks, secrets, tokens, passwords, connection strings, private URLs, or proprietary code unless you have manually redacted them first; the inspected implementation does not perform the automatic redaction it claims.
debug-companion.js:105Sensitive traceback data is retained and rendered without the documented redaction
The README explicitly encourages users to provide complete tracebacks and related code snippets, but gives no warning that these often contain secrets such as API keys, tokens, internal paths, hostnames, credentials, or proprietary code. In the context of a debugging skill, users are especially likely to paste raw production errors, which increases the chance of sensitive data disclosure to the model or downstream logs.
The trigger phrases include very broad everyday expressions such as “出了个bug” and “这个错误怎么修”, as well as direct traceback pasting, which can cause the skill to activate unintentionally in normal conversation. In a tool-enabled skill, overbroad activation increases the chance of unnecessary external searches and unintended processing of sensitive debugging data pasted by the user.
This code file contains natural-language descriptions and outputs primarily in Chinese, including the skill name, comments describing functionality, and generated user-facing analysis text. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is explicitly justified.
The formatOutput function emits all section headers and explanatory labels in Chinese, making the user-visible result language-fixed. Because no language selection or opt-in mechanism is present, this violates the natural-language locale policy for all file types.
The README's operational instructions, examples, and warnings are written in Chinese, which effectively forces a specific language for users reading the skill documentation. SQP-3 applies because there is no opt-in language choice or documented rationale that this skill is intended only for a Chinese-speaking or region-specific audience.
文档标题、介绍语和整体使用说明均以中文呈现,且未声明支持用户选择其他交互语言。根据规则,若技能在语言或 locale 上形成默认强制而没有显式 opt-in,属于自然语言层面的组织政策风险。
No suspicious patterns detected.