T07 · Tool Hijacking and Spoofing
- Location
source/data_visualizer.py:14- Finding
Arbitrary Code Execution Through an Attacker-Controlled Python Import Path
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent chart-generation tool, but its Python import path handling can load attacker-controlled local code and its licensing setup has risky secret-handling and authorization weaknesses.
Review before installing. Use it only in an isolated Python environment, avoid running it from shared writable directories, do not persist `SKILL_LICENSE_SECRET` in shell startup files, and be aware that the paid-feature license check is weak. The import-path issue should be fixed before using this on a multi-user system or with sensitive data.
source/data_visualizer.py:14Arbitrary Code Execution Through an Attacker-Controlled Python Import Path
source/data_visualizer.py:257Premium License Verification Fails Open on Unexpected Errors
install.sh:18Installation Uses Unpinned Third-Party Dependencies
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
# 复制许可证到用户目录
mkdir -p ~/.data-chart-tool
cp /path/to/license.json ~/.data-chart-tool/license.json
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
# 复制许可证到用户目录
mkdir -p ~/.data-chart-tool
cp /path/to/license.json ~/.data-chart-tool/license.json
The document instructs users to persist a secret signing key in shell startup files, which increases the chance of credential exposure through dotfile sync, backups, shell history mishandling, process inheritance, or accidental disclosure to other local users and tools. In this skill's context, the risk is amplified because the same secret appears to be shared with customers for offline verification, so compromise of that secret can undermine the licensing mechanism and enable forged licenses.
The prominent user-facing description and marketing copy are entirely in Chinese, and the document does not indicate that other languages are supported or that Chinese is required for a region-specific purpose. Under the policy, mandating a specific language without opt-in is a natural-language policy violation.
The natural-language comments and user-facing messages are presented only in Chinese, which effectively forces a specific language for installation guidance and errors. The file does not offer any user opt-in, alternative locale, or justification for restricting the skill to Chinese-language output.
The description is written as broad promotional copy and does not define clear activation boundaries, supported inputs, or limiting conditions. In agent ecosystems, this can cause the skill to be selected in overly broad contexts, increasing the chance it is invoked on unintended data-processing tasks and exposing users to unexpected file handling or workflow behavior.
The skill description is effectively Chinese-only and does not disclose a locale requirement or offer language choice. This can mislead routing or user understanding, causing the skill to be invoked for users who cannot read the description or constraints, which increases the risk of misuse or accidental execution in the wrong context.
The module docstring and user-facing description are entirely in Chinese, and the CLI help/messages throughout the file continue that assumption. This creates a language/locale policy concern because the skill presents a fixed language experience with no opt-in or alternative for users who may expect another language.
The code explicitly permits the premium scatter feature to continue when license verification infrastructure fails, despite a comment stating it should be restricted in production. This creates a fail-open authorization bypass: an attacker or normal user can access paid functionality by inducing license-manager failure, missing dependencies, or other exceptions.
All user-facing instructional content in the file is presented in Chinese, and the document does not indicate that language selection is optional or that the skill is intentionally limited to a Chinese-speaking regional context. The policy for natural-language content requires avoiding forced language or locale constraints unless users are given a choice or the restriction is clearly justified.
No suspicious patterns detected.