T09 · Insecure Skill Coding Practices
- Location
scripts/merge_results.py:56- Finding
Path Traversal Through an Unvalidated Target Slug
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
WideHive is a disclosed wide-research automation skill, but Review is warranted because unvalidated target slugs and spreadsheet exports can create unintended local file access or CSV formula risks with untrusted inputs.
Install only if you are comfortable granting this skill web access, sub-agent spawning, and workspace file read/write for large research runs. Keep run directories contained, accept target lists only from trusted sources, require slugs to use a safe filename pattern such as letters, digits, underscores, and hyphens, and be cautious opening generated CSV files in Excel or similar apps unless formula-like cells have been neutralized.
scripts/merge_results.py:56Path Traversal Through an Unvalidated Target Slug
scripts/merge_results.py:83Spreadsheet Formula Injection in Generated CSV Output
The declared description emphasizes an active orchestration system for large-scale research: launching many context-isolated sub-agents, merging their outputs, and producing shaped reports. The supplied code does not perform those tasks. It only discovers existing run directories, parses already-produced JSON artifacts, and writes a consolidated corpus and index. This is a materially different primary purpose: corpus consolidation of finished runs rather than wide research orchestration or report synthesis. The file operations are consistent with local post-run processing, and there are no suspicious undeclared external accesses, but the main behavior still does not match the declared skill description.
The declared description presents the skill as a broad research orchestration system that dispatches many context-isolated sub-agents, performs batch research, merges outputs programmatically, and synthesizes scenario-specific reports. The supplied code chunk does not perform any of those core behaviors. Instead, it only loads an existing merged.json artifact and renders it into an interactive HTML dashboard using embedded CSS/JavaScript, including search, sorting, detail views, and up to two simple numeric charts. This is related to presentation of WideHive outputs, but it is materially narrower and different from the declared primary purpose. Therefore the description does not accurately represent what this code chunk actually does.
The skill explicitly instructs workers to read and write files across a workspace run directory, but it does not declare any tool scope or allowed-tools boundaries. That creates an authorization ambiguity where an agent runner may grant broader file capabilities than intended, increasing the chance of unintended file access or overwrite if prompts, paths, or surrounding harness behavior are manipulated.
Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.
You are a Wide Research single-object worker. Handle ONLY this one object;
do not expand scope.
Object: <name> (<url or unique identifier>)
Task:
This code emits a generated HTML document with the root element fixed to lang="en". The file contains no user opt-in, configuration option, or documented reason for forcing English, which matches the language/locale policy violation category.