T09 · Insecure Skill Coding Practices
- Location
scripts/main.py:284- Finding
Arbitrary File Creation and Overwrite Through Unrestricted CSV Export Path
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This freezer inventory skill is mostly purpose-aligned, but its file export and integrity controls are weaker and broader than its documentation claims.
Review before installing in any shared or important lab workflow. Keep exports in a dedicated directory, do not open exported CSVs from untrusted sample data without spreadsheet protections, and avoid concurrent use until the path restrictions, validation, and atomic database writes are fixed.
scripts/main.py:284Arbitrary File Creation and Overwrite Through Unrestricted CSV Export Path
scripts/main.py:278Spreadsheet Formula Injection in Exported CSV Records
scripts/main.py:178Sample Updates Bypass Location Validation and Conflict Detection
scripts/main.py:37Non-Atomic and Unlocked Database Writes Permit Corruption and Lost Updates
The skill advertises local script execution and file system access but does not declare an explicit tool scope such as permissions or allowed-tools. This creates a governance gap: consumers and enforcement layers cannot reliably constrain what files the skill may read or write, increasing the chance of overbroad file access if the implementation is later added or changed. The repeated self-attestations that access is 'controlled' and 'approved' without machine-enforceable restrictions make this more concerning, not less.
This code file contains user-facing natural language that presents the skill description in Chinese alongside English, and the CLI help/output throughout the file is predominantly Chinese. The file does not offer any language or locale selection or indicate that the language constraint is optional, which can violate language/locale policy for general-use skills.
The file includes organizational metadata and user-facing labels in Chinese, such as the owner field and later classification text, without indicating that the skill is limited to Chinese-speaking users or offering an opt-in language choice. This can violate language/locale policy expectations for broadly reusable skills when the user is not given a choice.
The classification line uses Chinese text ("Tool/Script型") as part of the skill description without offering the user a language preference or noting that the skill is region/language-specific. That creates a natural-language policy concern because the skill implicitly forces a specific language in user-visible content.
No suspicious patterns detected.