T09 · Insecure Skill Coding Practices
- Location
scripts/sop_bom_report.py:328- Finding
Unbounded Extraction and Processing of Untrusted XLSX Archives
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill appears intended to compare SOP and BOM spreadsheets, but its cleanup and spreadsheet extraction behavior is broad enough to need review before installation.
Install only if you are comfortable with a local script reading the supplied spreadsheets, writing reports, and automatically deleting matching temp/report files. Run it in a dedicated working directory or sandbox, avoid sensitive shared temp environments, and consider reviewing or changing the cleanup and archive-size handling before use.
scripts/sop_bom_report.py:328Unbounded Extraction and Processing of Untrusted XLSX Archives
scripts/sop_bom_report.py:1192Overbroad Recursive Deletion in the Shared Temporary Directory
SKILL.md:18Unpinned Third-Party Dependency Installation
The explicit cleanup recipe 'rm -rf /tmp/sop_extract_* /tmp/bom_extract_* /tmp/report_*' is dangerous in context because the skill advertises automatic cleanup and shell-capable behavior. In shared or multi-user environments, predictable prefixes in /tmp can overlap with unrelated files, and wildcard recursive deletion may remove data outside the intended report cache set.
如需手动清理,可执行:
# Linux/Mac
rm -rf /tmp/sop_extract_* /tmp/bom_extract_* /tmp/report_*
# Windows (PowerShell)
Remove-Item -Path "$env:TEMP\sop_extract_*" -Force -ErrorAction SilentlyContinue
The explicit cleanup recipe 'rm -rf /tmp/sop_extract_* /tmp/bom_extract_* /tmp/report_*' is dangerous in context because the skill advertises automatic cleanup and shell-capable behavior. In shared or multi-user environments, predictable prefixes in /tmp can overlap with unrelated files, and wildcard recursive deletion may remove data outside the intended report cache set.
如需手动清理,可执行:
# Linux/Mac
rm -rf /tmp/sop_extract_* /tmp/bom_extract_* /tmp/report_*
# Windows (PowerShell)
Remove-Item -Path "$env:TEMP\sop_extract_*" -Force -ErrorAction SilentlyContinue
The explicit cleanup recipe 'rm -rf /tmp/sop_extract_* /tmp/bom_extract_* /tmp/report_*' is dangerous in context because the skill advertises automatic cleanup and shell-capable behavior. In shared or multi-user environments, predictable prefixes in /tmp can overlap with unrelated files, and wildcard recursive deletion may remove data outside the intended report cache set.
如需手动清理,可执行:
# Linux/Mac
rm -rf /tmp/sop_extract_* /tmp/bom_extract_* /tmp/report_*
# Windows (PowerShell)
Remove-Item -Path "$env:TEMP\sop_extract_*" -Force -ErrorAction SilentlyContinue
The skill describes capabilities that imply reading local files and potentially invoking shell commands, but it does not declare any explicit tool scope such as permissions or allowed-tools. This creates an authorization gap where an agent may over-grant capabilities or users may be unaware that filesystem and shell access are required, increasing the risk of unintended file access or command execution.
The trigger condition is broadly phrased as activating whenever a user sends BOM and SOP files for comparison, which may overlap with ordinary conversations or adjacent document-analysis tasks. Overbroad activation can cause the skill to run unexpectedly on sensitive files, leading to unintended processing, file access, or execution of cleanup logic outside the user's precise intent.
This code file contains user-facing natural-language strings and documentation in Chinese only, starting with the module docstring and continuing throughout CLI output. Under the policy rule, forcing a specific language without user opt-in is a natural-language locale violation unless the regional constraint is clearly documented and justified, which is not present here.
No suspicious patterns detected.