T01 · Skill Instruction Hijacking
- Location
scripts/bilibili.sh:118- Finding
Unconditional Third-Party Promotional Output Injection
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Bilibili content helper is mostly on-purpose, but its shell helper has unsafe input handling that could run local commands or read/write Markdown files outside its draft folder.
Install only if you are comfortable reviewing or fixing the shell helper first. Avoid passing untrusted values to the outline duration argument, avoid using draft names containing path characters, and know that draft text and command topics may be stored locally under the tool's data directory.
scripts/bilibili.sh:118Unconditional Third-Party Promotional Output Injection
scripts/script.sh:66Shell Command Execution Through Unvalidated Arithmetic Input
scripts/script.sh:243Draft Name Path Traversal Allows Filesystem Reads and Writes Outside the Draft Directory
This Python skill emits user-facing titles, descriptions, scripts, help text, and labels exclusively in Chinese, which effectively forces a specific language for all users. The file does not provide any opt-in, language selection mechanism, or justification that the skill is intended only for a Chinese-language or region-specific context.
The draft save command writes arbitrary user-supplied content to disk without any user-facing notice, confirmation, or privacy disclosure. This can cause users to persist sensitive text unintentionally, especially if they believe the tool is only generating ephemeral output.
The _log function silently appends command names and user-provided arguments to a local history file. Because arguments may contain sensitive topics, personal data, or confidential draft subjects, undisclosed logging creates a privacy risk and may leak information to other local users or backups.
The script's user-facing strings are predominantly fixed in Chinese, including titles, labels, and guidance text, with no option to select another language or indication that the skill is intentionally limited to a Chinese-speaking audience. This creates a natural-language locale policy concern because the skill effectively forces a specific language without user opt-in.
The skill's natural-language interface, help text, and output strings are presented only in Chinese, effectively forcing a specific language on users. The file does not indicate that the tool is region-specific or provide any language/locale selection.
The user-facing help and module banner describe commands for idea generation, templates, and analytics, but do not disclose that invoking commands writes a history log and that drafts can be saved to disk. This is not merely omitted implementation detail for a shell helper, because the documentation frames the tool as an assistant while the code adds persistent local storage side effects.
The markdown content is entirely in Chinese and presents usage guidance without indicating that the skill is intentionally limited to Chinese-speaking users or that alternative languages are available. Under the language/locale policy rule, this can be treated as a natural-language policy concern when no opt-in or justification is provided.