T09 · Insecure Skill Coding Practices
- Location
personal-finance.sh:250- Finding
Output Path Validation Can Be Bypassed to Overwrite Arbitrary Writable Files
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This finance CSV tool mostly does what it says, but its optional export can overwrite user-writable files and is less safely scoped than its docs claim.
Review this skill before installing. It appears offline and purpose-aligned, but only run it on CSVs you trust, choose export paths carefully, avoid opening generated CSVs in spreadsheets when input rows may be attacker-controlled, and do not rely on its current output-path safety claim to prevent overwrites.
personal-finance.sh:250Output Path Validation Can Be Bypassed to Overwrite Arbitrary Writable Files
personal-finance.sh:261Generated CSV Files Are Vulnerable to Spreadsheet Formula Injection
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
for rule in rules:
for keyword in rule["keywords"]:
if keyword in text:
return rule["category"]
return "Uncategorized"
The skill advertises file read and write behavior but does not declare an explicit tool scope such as permissions or allowed-tools. That creates an authorization ambiguity: an agent or runtime may permit broader filesystem access than users expect, especially because --output enables writing arbitrary paths. In a personal-finance context, undeclared file access is more sensitive because inputs contain financial data and account information.
This JSON manifest defines activation-like matching keywords for categories. The keyword "deposit" is overly broad everyday language and could match many unrelated transactions, making the trigger scope insufficiently specific.
No suspicious patterns detected.