T09 · Insecure Skill Coding Practices
- Location
top_asv_blast.py:65- Finding
Unsanitized sample names allow file overwrite outside the output directory
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent BLAST annotation helper, but one script can write CSV output outside the chosen results directory when sample names come from an untrusted OTU table.
Install and run this only in an isolated project directory or virtual environment, avoid using administrator privileges, and do not process proprietary or sensitive sequence data unless you are comfortable sending it to NCBI. Treat OTU tables as trusted input until sample-name sanitization is added, because crafted headers can cause result files to be written outside the intended output folder.
top_asv_blast.py:65Unsanitized sample names allow file overwrite outside the output directory
SKILL.md:15Biopython dependency is installed without version or integrity pinning
该触发短语过于通用,容易与普通用户关于BLAST注释的自然提问重叠,导致技能在缺乏明确调用意图时被误触发。误触发本身不一定直接造成系统被攻破,但可能让代理在错误上下文中调用外部生物信息流程、产生不必要的网络请求或处理非预期数据。
The script sends raw biological sequences to NCBI over the network via NCBIWWW.qblast without any explicit user warning, consent step, or privacy notice. If the input sequences are unpublished, proprietary, regulated, or tied to sensitive sample metadata, this can cause unintended external disclosure to a third party.
“BLAST物种注释指南”更像一般性文档标题或帮助请求,而不是边界清晰的调用命令,因此可能在普通问答场景中被意外匹配。相比前一个短语,其危险性较低,因为它更偏说明性,但仍会增加技能选择歧义并导致非预期激活。
SQP-3 applies to all file types and covers language/locale policy violations. This script’s module docstring is Chinese-only, and the same language constraint continues in user-facing print statements, with no opt-in, alternative language, or stated region-specific requirement.
The file's docstring, CLI description, help text, and runtime messages are all written in Chinese, which imposes a specific language on users. There is no indication that language selection is optional or that the tool is explicitly limited to a Chinese-speaking context.
No suspicious patterns detected.