T09 · Insecure Skill Coding Practices
- Location
scripts/scan_files.py:338- Finding
CSV Formula Injection Through Attacker-Controlled File Metadata
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill coherently scans a user-selected directory to classify privacy-sensitive files and optionally writes reports, with disclosed but non-zero handling risks.
Install only if you are comfortable letting the skill read filenames and, by default, supported file contents inside the directory you provide. Use --name-only for lower exposure, keep scans narrowly scoped, review sensitive classifications manually, and treat CSV reports from untrusted directories carefully in spreadsheet applications.
scripts/scan_files.py:338CSV Formula Injection Through Attacker-Controlled File Metadata
scripts/scan_files.py:24Incomplete Runtime Keyword Rules Can Misclassify Sensitive Files
The skill instructs the agent to scan directories, read file contents, and optionally export results, which implies file read and file write capabilities, but it does not declare any explicit tool scope or permission boundaries. This can lead to over-broad access at runtime, making it easier for the skill to read unintended files or write reports to unsafe locations if invoked with attacker-controlled paths.
The trigger list contains broad phrases such as 文件扫描, 合规检查, and 隐私评估, which can overlap with ordinary user requests and cause the skill to activate unexpectedly. In this skill's context, accidental activation is more concerning because activation leads to directory scanning and possible file-content inspection, increasing the chance of unnecessary access to sensitive data.
This markdown file is written entirely in Chinese and defines the skill’s operational classification vocabulary in that language, which can function as a language-specific policy constraint. Under the policy, forcing a specific language without user opt-in or an explicit justification can be a violation.
This code extracts text from matched files for keyword scanning, and the surrounding workflow recursively scans directories and processes file contents by default. Although the tool's purpose is classification, there is no explicit warning, confirmation, or prominent disclosure in code comments/help text that file contents may contain personal data and will be read and analyzed.
The module docstring, help text, warnings, and output strings are written only in Chinese, with no option to select another language or locale. This creates a language constraint in the skill's natural-language interface without documented user choice or locale-specific justification.
No suspicious patterns detected.