T08 · Insecure Dependencies
- Location
SKILL.md:323- Finding
Unpinned Installation of a Third-Party Security Tool
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a project security self-check skill with disclosed command-based scanning, but its documentation is inconsistent and some shell examples are unreliable.
Install only if you are comfortable letting the skill read and scan the target project and run local audit commands when you ask it to. Avoid running it as administrator, review any generated pre-commit hook before enabling it, and use pinned tools in a virtual environment or container for dependency auditing.
SKILL.md:323Unpinned Installation of a Third-Party Security Tool
SKILL.md:152Failed Directory Change Allows Scanning of an Unintended Location
SKILL.md:47POSIX Shell Declaration Is Incompatible with Bash-Style Arithmetic Commands
SKILL.md:292Unsafe Parsing of Git Filenames Permits Pre-Commit Secret-Scan Bypass
The description promises a lightweight, knowledge-driven security self-check that does not require installing extra tools. However, the documented workflow depends on Bash execution plus tools such as npm audit, pip-audit, grep, jq, and even labels LLM API as required, which materially changes the behavior from pure knowledge guidance to tool-backed scanning.
This is not merely incomplete documentation: one section asserts no extra tools are needed, while later sections list grep as required, npm/pip-audit/jq as dependencies, and classify the skill as 'MD+EXEC' needing command execution capability. Those statements directly contradict the earlier claim about a pure knowledge-driven, no-extra-tool free edition.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
echo " [!] 未找到.gitignore文件"
((ISSUES++))
else
for entry in '.env' 'node_modules' '*.key' '*.pem'; do
grep -q "$entry" .gitignore 2>/dev/null && echo " [OK] .gitignore包含: $entry" || echo " [!] .gitignore缺失: $entry"
done
fi
The display name, summary, and description are all presented solely in Chinese, and the rest of the skill instructions continue in Chinese without offering a language choice. This can violate language/locale policy where users are not explicitly given an opt-in or alternative locale.
The summary and description emphasize basic assessment, OWASP auditing, and threat modeling for quick self-review. The file also documents writable threat-register management and states input supports '创建/查询/导出', which goes beyond pure assessment into artifact management and file generation.
The skill describes its activation and capability coverage in broad, open-ended terms without strong trigger constraints, while also declaring powerful tools such as Read, Write, Edit, and Bash. In an agent environment, vague activation boundaries can cause the skill to over-apply, perform unintended file modifications, or run commands in contexts the user did not explicitly authorize.
The document says the free version needs no extra API key, yet the dependency table marks 'LLM API' as required and troubleshooting includes API authentication, rate limiting, timeout, and network-failure cases as expected operating conditions. That creates an intent/documentation contradiction about whether external API-backed operation is required.