T09 · Insecure Skill Coding Practices
- Location
SKILL.md:25- Finding
Unvalidated User-Derived Values May Be Interpolated into Shell Commands
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent date/time helper, but users should know it runs local shell or PowerShell date commands and should avoid feeding it adversarial date strings.
Install only if you are comfortable with the agent running local date/time commands. Use clear date, offset, and timezone inputs, and prefer a sandboxed agent environment for untrusted prompts because the skill does not spell out strict input validation rules.
SKILL.md:25Unvalidated User-Derived Values May Be Interpolated into Shell Commands
The trigger condition explicitly activates not only for direct time questions but also whenever a user request contains a parseable relative date phrase such as '明天' or '下周三'. That is overly broad for a user-invocable skill that executes shell commands, because unrelated tasks containing incidental date language may invoke this skill unexpectedly and cause subprocess execution or alter downstream task flow.
The document’s headings, descriptions, and instructional text are entirely in Chinese, which imposes a specific language on users. Under the policy, a fixed language is a violation unless the skill offers language choice or clearly justifies a locale-specific scope, neither of which appears here.
The skill states that all time calculations are performed by executing shell commands, but it does not clearly surface that behavior as an operational/security characteristic to the user. In a skill that may auto-trigger on natural-language date phrases, undisclosed subprocess execution reduces transparency and can increase risk if users or higher-level agents assume the skill is purely logical and side-effect free.
The entire reference is written in Chinese, including headings, explanations, and output descriptions, with no indication that the language is optional or that the skill is intended only for Chinese-speaking users. Under the stated policy, forcing a specific language without user opt-in is a natural-language locale violation.
The document is written entirely in Chinese, including headings, explanations, and output descriptions, with no indication that language selection is optional. This can violate a language or locale policy when users are not explicitly given a choice or informed that the skill is region/language-specific.
No suspicious patterns detected.