T09 · Insecure Skill Coding Practices
- Location
make_data.py:27- Finding
Hugging Face access token is transmitted to an unofficial mirror
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly performs the advertised model benchmark, but it needs Review because it can expose credentials to an unofficial mirror and has under-scoped local/API controls.
Install only if you are comfortable with this skill using model API keys, making outbound benchmark calls, and writing full completions/results locally. Do not run make_data.py with HF_TOKEN unless the mirror behavior is fixed or you use a fine-grained read-only token you are prepared to revoke. Prefer official package/data sources, watch API cost/quota, and stop the local Web UI when finished.
make_data.py:27Hugging Face access token is transmitted to an unofficial mirror
serve.py:202Unauthenticated loopback endpoint permits browser-driven benchmark execution
web/index.html:236DOM-based cross-site scripting through unescaped configuration and result values
SKILL.md:69Runtime dependencies are installed without version or integrity pinning
The skill explicitly recommends using a forged 'User-Agent: curl/8.0.1' to bypass an intermediary WAF block. That is an evasion technique intended to circumvent an access-control or abuse-detection mechanism, and it can facilitate unauthorized or policy-violating requests against third-party infrastructure.
The skill instructs the agent to use environment variables, read local config files, create directories, write result files, access the network, and execute shell commands, but it does not declare any explicit tool or permission scope. That mismatch increases the chance the skill will be invoked with broader capabilities than users expect, enabling unintended access to secrets such as API keys or modification of local files.
The trigger phrases are broad enough to match common user wording like 'benchmark this endpoint' or '智力测试', which can cause the skill to activate in contexts the user did not intend. Over-triggering is dangerous because this skill performs sensitive actions such as reading local configuration, using API keys, running shell commands, and contacting external endpoints.
The entire skill documentation is written in Chinese, and there is no indication that the user may choose another language or that the skill is intentionally limited to a Chinese-speaking audience. Under the stated policy, forcing a specific language without opt-in is a natural-language policy violation.
The entire skill file is written in Chinese and includes mandatory wording such as '每次报告必须复述', but it does not offer any language or locale choice to the user. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is explicitly justified, which is not present here.
The script creates a client and submits jobs through run_one using model kimi-k3, which strongly indicates outbound API calls transmitting question content and possibly related metadata. The file does not include a visible warning, confirmation, or comment disclosing that data is sent to an external service.
The document declares lang="zh-CN", and the visible UI text throughout the page is fixed in Chinese, which indicates the skill experience is constrained to a specific language/locale. The file does not present an opt-in, language selector, or justification that this is a region-specific tool, so this conflicts with the policy against forcing a locale without user choice.
This code creates a timestamped JSONL file under the results directory, which is a file-write operation. While the script's purpose implies rerunning tasks, there is no explicit warning in the docstring or before the write that a new output file will be created.
The file’s user-facing documentation and runtime guidance are entirely in Chinese, including usage instructions and operational messages, with no indication that another language is supported. Under the language/locale policy, forcing a specific language without user opt-in is a natural-language policy concern.