T09 · Insecure Skill Coding Practices
- Location
scripts/recon_logic.py:18- Finding
Unbounded XLSX Decompression and XML Parsing Can Cause Resource Exhaustion
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill locally reconciles user-provided bank and ledger files and creates Excel reports, with some ordinary handling risks for sensitive financial files.
Install only if you are comfortable letting the skill read the specific bank statement and GL files you provide and write reconciliation workbooks containing financial data. Use trusted, reasonably sized PDFs/XLSX files, choose a private output folder, and remember that PDF input creates an additional _extracted.xlsx file beside the PDF.
scripts/recon_logic.py:18Unbounded XLSX Decompression and XML Parsing Can Cause Resource Exhaustion
scripts/recon_logic.py:39Unbounded PDF Stream Decompression Can Cause Resource Exhaustion
Referenced artifact was not completely inspected
5. Run `scripts/recon_logic.py` with the bank file, GL file, output file, and threshold.
Referenced artifact was not completely inspected
5. Run `scripts/recon_logic.py` with the bank file, GL file, output file, and threshold.
The skill can read user-supplied files and drive a reconciliation workflow, but it declares no explicit tool scope or permissions boundary. That creates an authorization ambiguity where an orchestrator may invoke the skill for file access without clear user-visible constraints, increasing the chance of unintended file reads or broader-than-expected data handling.
The description is broad enough to match many generic file-processing or spreadsheet-analysis requests, which can cause the skill to trigger in contexts beyond narrowly intended bank reconciliation tasks. Over-broad invocation increases the risk that sensitive financial files are processed unexpectedly or that this skill is selected when a safer, more specific workflow should apply.
When the bank input is a PDF, the code automatically creates a new _extracted.xlsx file containing parsed bank statement data. Although the script prints a completion message afterward, there is no prior warning, confirmation, or inline documentation near this file-write path to disclose that sensitive financial data will be materialized as a separate workbook.
The skill notes that PDF processing creates a companion extracted workbook beside the input PDF, but the instructions do not prominently warn users that new files will be written near their source data. This can lead to unexpected artifact creation in sensitive directories, accidental disclosure via synced folders, or overwrite/confusion risks in shared workspaces.
The script writes a multi-sheet XLSX reconciliation report to output_path, which contains financial transaction and ledger data. While report generation is central to the script's purpose and a completion message is printed after the fact, there is no explicit upfront disclosure in code comments, docstrings, or a confirmation that sensitive data will be written to disk.
No suspicious patterns detected.