T09 · Insecure Skill Coding Practices
- Location
scripts/analyze.py:168- Finding
Symbolic-Link Traversal Allows Reads Outside the Analysis Root
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a local code-report generator, but one analyzer can follow project symlinks outside the selected folder and the DDD report path can produce a report without actually analyzing files.
Install only if you are comfortable running a local recursive code analyzer on repositories you trust. Avoid using it on untrusted repositories unless symlinks are removed or sandboxed, and treat generated reports as heuristic summaries rather than authoritative security or architecture reviews.
scripts/analyze.py:168Symbolic-Link Traversal Allows Reads Outside the Analysis Root
The English-language capability claims describe deep repository analysis across architecture, execution flow, data flow, business rules, and 20+ languages, but the implementation reportedly performs only partial heuristic matching and may not execute full repository scanning before export. Such mismatch creates a trust boundary problem: operators may treat generated output as authoritative, missing real issues or making unsafe changes based on incomplete analysis.
The English-language capability claims describe deep repository analysis across architecture, execution flow, data flow, business rules, and 20+ languages, but the implementation reportedly performs only partial heuristic matching and may not execute full repository scanning before export. Such mismatch creates a trust boundary problem: operators may treat generated output as authoritative, missing real issues or making unsafe changes based on incomplete analysis.
Referenced artifact was not completely inspected
python3 scripts/analyze.py --path /path/to/project --output report.md
Referenced artifact was not completely inspected
python3 scripts/analyze.py --path /path/to/project --output report.md
Referenced artifact was not completely inspected
python3 scripts/analyze.py --path /path/to/project --output report.md
Referenced artifact was not completely inspected
python3 scripts/analyze.py --path /path/to/project --output report.md
Referenced artifact was not completely inspected
python3 scripts/analyze.py --path /path/to/project --output report.md
Referenced artifact was not completely inspected
python3 scripts/analyze.py --path /path/to/project --output report.md
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
- [ ] Documentation is adequate
- [ ] No deprecated dependencies
## Output Guidelines
When generating analysis reports:
The skill advertises commands that read project files, write output reports, and may rely on external references, but it does not declare any explicit tool scope such as permissions or allowed-tools. In an agent environment, missing scope declarations can cause over-broad tool access or ambiguous execution boundaries, increasing the risk of unintended file access, overwrites, or network use beyond what users expect.
The manifest description and nearly all user-facing instructions are written in Chinese, and the file gives no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking context. This creates a language/locale policy concern because the skill effectively imposes a specific language without opt-in.
The skill metadata and module docstring claim deep code analysis capabilities, but this file only implements limited name-based DDD heuristics and does not actually scan the target repository end-to-end. In a security-sensitive agent ecosystem, this overstatement can mislead users or downstream automation into trusting incomplete analysis results, causing important code, architecture, or risk issues to be missed.
The main entrypoint constructs the analyzer and can export a report without performing any repository traversal or analysis first. This creates a deceptive success condition where users receive an apparently valid report that may be empty or meaningless, which is dangerous because it can be consumed as evidence that a codebase was reviewed when it was not.
This code writes a Markdown report to a user-specified path, which modifies the local filesystem. While the CLI argument names imply output behavior, the code itself provides no confirmation prompt or explicit warning about creating or overwriting the destination file before performing the write.
No suspicious patterns detected.