T09 · Insecure Skill Coding Practices
- Location
executors/vibe-executor-v4.1.js:758- Finding
Arbitrary File Write Through Unvalidated LLM-Generated Paths
- Content
View full analysis
')) { blocks.push({ path: 'index.html', content: markdown, language: 'html' }); } return blocks; } ``` ### Technical Analysis The filename comes from LLM-generated Markdown and must therefore be treated as untrusted input. The filename regular expression permits periods and forward slashes, including paths such as `../../target/file`. `path.join(this.projectDir, block.path)` normalizes traversal components but does not ensure that the resulting path remains beneath `this.projectDir`. No canonical containment check is performed before directory creation and file writing. A malicious or prompt-injected model response can consequently direct the process to create or over ...[truncated 1439 chars]- Remediation
View remediation
