T09 · Insecure Skill Coding Practices
- Location
scripts/reconcile_gst_upi.py:220- Finding
Spreadsheet Formula Injection in Generated CSV Reports
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This GST-UPI reconciliation skill matches its stated purpose, but it has concrete report-safety and reconciliation-integrity issues that users should review before relying on it.
Use this only with trusted GST and UPI exports, write outputs to a private dedicated folder, and treat the generated reports as sensitive financial records. Before using the reports for books, collections, or audit decisions, sanitize CSV outputs for spreadsheet formulas and validate missing statuses plus duplicate or blank invoice numbers.
scripts/reconcile_gst_upi.py:220Spreadsheet Formula Injection in Generated CSV Reports
scripts/reconcile_gst_upi.py:113Missing UPI Status Fails Open as a Successful Transaction
scripts/reconcile_gst_upi.py:190Duplicate or Empty Invoice Numbers Cause Unmatched GST Rows to Be Omitted
The skill instructs the agent to read input CSVs and generate multiple output files, but it does not declare any explicit tool scope or permissions boundary. This creates an authorization ambiguity where a host system may grant broader file read/write access than intended, increasing the risk of accidental access to unrelated financial data or overwriting files in sensitive locations.
The invocation description is broad enough to match generic accounting or cashflow-related requests, which can cause the skill to activate in contexts beyond GST-UPI reconciliation. Over-broad activation is risky because it may prompt unnecessary handling of sensitive financial files or cause the wrong workflow to run on unrelated bookkeeping tasks.
The script writes multiple CSV/JSON files containing sensitive financial and personal data such as invoice totals, customer names, payer names, UTRs, and transaction IDs. In an agent/skill context, creating these files without explicit user notice, output-location controls, masking, or data-minimization increases the risk of unintended local persistence, accidental sharing, or exposure through permissive directories and downstream tooling.
No suspicious patterns detected.