T09 · Insecure Skill Coding Practices
- Location
scripts/fix_pptx_compatibility.py:170- Finding
Unsafe In-Place Archive Overwrite Can Destroy the Input Presentation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent PowerPoint repair helper, but its default repair script can overwrite and corrupt the user's original PPTX file without a safe backup path.
Use this skill only for pptxgenjs-generated PPTX files. Always pass a separate output filename, keep a backup of the original presentation, and review the generated file before replacing the source. Be cautious if it activates for generic PowerPoint tasks unrelated to pptxgenjs.
scripts/fix_pptx_compatibility.py:170Unsafe In-Place Archive Overwrite Can Destroy the Input Presentation
The trigger condition is broad enough to activate on generic mentions of "PPT" generation, which can cause this skill to be invoked outside its intended pptxgenjs-specific context. Over-broad invocation increases the chance that unrelated tasks inherit mandatory post-processing guidance or file-modifying instructions that are unnecessary or unsafe for the actual workflow.
The skill instructs users to run a mandatory fix script and notes that it may overwrite the input file, but it does not prominently frame this as a potentially destructive file modification requiring backup or explicit consent. In an agent context, that omission can lead to silent alteration of user artifacts, data loss, or corruption if the script is misapplied to the wrong file or an unexpected output path.
The file title and all instructional content are written entirely in Chinese, and there is no indication that users may choose another language or that the skill is intended only for a Chinese-speaking or region-specific audience. This creates a natural-language locale constraint without opt-in, which matches the policy's language/locale violation criterion.
This code file performs a safety-relevant file write that can replace the user's original document when no output path is supplied. Although the docstring notes that the input will be overwritten, the executable path contains no confirmation or stronger warning before the destructive operation occurs.
No suspicious patterns detected.