Back to skill

Security audit

Budget Builder

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent budgeting/reporting helper that reads QuickBooks financial data and writes local budget/report files, with no evidence of hidden or destructive behavior.

Install and run this only in a trusted environment with authorized QBO access. The generated Excel files and .cache/budget-builder JSON files can contain sensitive company financial data, so protect or clean them up according to your retention policy; pin dependencies before production use.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Note
Location
SKILL.md:263
Finding
Unpinned Third-Party Dependency Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 263-266 **Vulnerability Type**: Unpinned dependency and non-reproducible installation **Risk Level**: Low ### Evidence ```markdown ## Dependencies ```bash pip install openpyxl # Node.js QBO client must be configured with valid auth tokens ``` ``` ### Technical Analysis The documented installation command retrieves the latest available `openpyxl` release without specifying a reviewed version, lockfile, package hash, or explicit trusted package index. Consequently, the dependency resolved during installation may change over time and cannot be reliably matched to the version reviewed by the project maintainer. This is a software supply-chain weakness rather than evidence that `openpyxl` itself is malicious. Exploitation would require compromise of the dependency's distribution channel, publication of a compromised future release, manipulation of the configured Python package index, or a related package-resolution attack. The artifact contains only `SKILL.md`; the referenced `scripts/pipelines/budget-builder.py` implementation is absent. Therefore, dependency use and runtime safeguards could not be independently verified. ### Attack Path 1. An attacker compromises a future dependency release, the package distribution channel, or a package index configured in the user's environment. 2. A user follows the documented `pip install openpyxl` command. 3. `pip` resolves and installs the attacker-controlled or compromised release because no reviewed version or integrity hash is enforced. 4. Malicious dependency code executes during installation or when imported by the budget pipeline. 5. The code runs with the privileges of the invoking user and may access data and credentials available to that process. ### Impact Assessment Successful exploitation could permit arbitrary code execution with the invoking user's privileges. Depending on the runtime environment, this may expose locally accessibl ...[truncated 373 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin `openpyxl` to a specifically reviewed version rather than installing the latest release implicitly. 2. Manage dependencies through a committed lockfile or a fully pinned requirements file. 3. Record and enforce cryptographic hashes, such as with `pip install --require-hashes -r requirements.txt`. 4. Configure an explicit trusted package index and prevent unintended fallback to untrusted or internally shadowed indexes. 5. Use an isolated virtual environment and run the pipeline with the minimum filesystem and credential access required. 6. Add automated dependency vulnerability and integrity scanning to the release process. 7. Include the referenced implementation in the auditable package so its dependency use, QBO credential handling, input validation, and cache protections can be reviewed. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The skill does access sensitive financial data from QuickBooks Online and persists budget and CDC artifacts to local cache files, but the surfaced usage/description does not clearly warn users about that data flow or local retention. This can lead to accidental exposure of financial information on shared machines, developer workstations, or backups because users may invoke the skill without understanding where sensitive data is stored.

Static analysis

No suspicious patterns detected.