T09 · Insecure Skill Coding Practices
- Location
demo_gear.py:279- Finding
Predictable Shared Temporary Paths Permit Output Clobbering
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Blender automation skill is coherent, but it needs Review because its examples and demo scripts can delete the current Blender scene and overwrite fixed temporary output files without confirmation.
Install only if you are comfortable reviewing generated Blender scripts before execution. Run the demo in a new or disposable Blender file, avoid running it in an active project, and change output paths to a private or user-selected directory before rendering or saving.
demo_gear.py:279Predictable Shared Temporary Paths Permit Output Clobbering
scripts/blender_demo_gear.py:279Predictable Shared Temporary Paths Permit Output Clobbering in Duplicate Demo Script
SKILL.md:199Documentation Promotes a Predictable Shared Temporary Output Path
The documented scene setup performs unconditional deletion of all selected objects and then removes all materials from the Blender file, which can destroy existing work if run in the wrong project or context. In an automation skill, users may copy this boilerplate into live scenes or headless jobs without realizing it is destructive, making accidental data loss a realistic risk.
The script immediately deletes all objects in the current Blender scene and removes all materials without any prompt, scope check, or requirement to operate on a fresh file. In an automation skill, this can cause accidental destruction of a user's working scene or unsaved assets if run in the wrong context, making it a real integrity risk even if the demo's intent is not malicious.
The script immediately selects and deletes all objects and removes all materials from the currently open Blender scene, which is destructive behavior unrelated to the minimum required action of generating a demo gear. In a user’s active project, this can cause loss of unsaved work or corruption of the working scene state without warning or isolation.
Deleting the current Blender scene contents without any confirmation or warning is unsafe because users may run the script in an existing project context expecting only asset creation. The skill context makes this more dangerous, not less, because a modeling automation skill is likely to be executed inside valuable interactive workspaces.
The script saves a .blend file and writes a rendered PNG to fixed paths under /tmp without this behavior being clearly disclosed in the skill description or gated by user input. While /tmp is less sensitive than arbitrary filesystem locations, undisclosed file creation can leak project artifacts, overwrite prior temp files, and violate least-surprise expectations.
The render and export examples write output files to disk, including a default path under /tmp and a model export path, without prominently warning users that execution causes filesystem side effects. While expected for rendering/export automation, undocumented writes can still overwrite files, leak artifacts into shared locations, or violate user expectations in automated environments.
The script writes a .blend file and rendered PNG to fixed paths in /tmp and does so automatically, without prior disclosure or opt-in. While /tmp is lower risk than user home directories, silent file creation/overwrite can still clobber prior outputs, leak generated content to shared temporary storage, and violate user expectations in an automation environment.
Writing output files to /tmp without warning is lower severity than scene deletion, but it still performs side effects outside in-memory scene generation and may surprise users or other tooling. In automation contexts, silent file output can create privacy, reproducibility, and overwrite issues, especially if the temp directory is shared or monitored.
No suspicious patterns detected.