T09 · Insecure Skill Coding Practices
- Location
scripts/generate_slide_images.py:108- Finding
Path Traversal Through Unvalidated Slide Names
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly a coherent presentation generator, but its image-generation helper can write generated image files outside the requested output folder if slide names are path-like.
Review this skill before installing if you will run the bundled image-generation script. Use only trusted prompts JSON files, keep slide names to simple filenames such as letters, numbers, dashes, and underscores, and use a restricted Gemini API key. Image prompts are sent to Google's API, and generated presentations load JavaScript, CSS, and fonts from external CDNs unless you modify the template.
scripts/generate_slide_images.py:108Path Traversal Through Unvalidated Slide Names
scripts/generate_slide_images.py:31Gemini API Credential Exposed in Request URLs
The guidance says to match audience language and explicitly mandates Chinese for Chinese audiences. Under the policy, locale or language constraints should offer user choice or clear opt-in unless narrowly justified; this file does not state that the user can choose another language.
The HTML sets lang="zh-CN" and includes user-facing keyboard hints only in Chinese, which imposes a specific language/locale on all uses of the template. There is no visible opt-in, fallback, or documented justification that this template is intended only for a Chinese-language context.