Back to skill

Security audit

SCF Deep Analysis

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent financial analysis workflow, but users should handle its QBO access, local cache, and dependency install carefully.

Install only in a trusted accounting environment, prefer a virtual environment with pinned dependencies, and treat the generated workbook plus `.cache/scf-deep-analysis/{slug}.json` as sensitive client financial data that may need cleanup or access controls on shared machines.

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

Warning
Location
SKILL.md:61
Finding
Unpinned Third-Party Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, line 61 **Vulnerability Type**: Unpinned third-party dependency **Risk Level**: Medium ### Vulnerable Code Snippet ```markdown - `openpyxl` installed: `pip install openpyxl` ``` ### Technical Analysis The prerequisite directs users to install `openpyxl` without specifying an approved version, dependency lockfile, package hash, or trusted package index. Consequently, the installed package and its transitive dependencies may change after the skill has been reviewed. This is a software supply-chain weakness. If the package index, a maintainer account, a dependency, or the package resolution environment is compromised, following this instruction could install attacker-controlled code. An unintended package index configured through pip settings or environment variables could also supply an unauthorized distribution. The project contains only `SKILL.md`; the referenced pipeline is not included in the audited artifact. Therefore, the pipeline's imports, dependency handling, and runtime controls could not be verified. ### Attack Path 1. A user follows the documented prerequisite and runs `pip install openpyxl`. 2. pip resolves the package from the user's configured index without enforcing an audited version or cryptographic hash. 3. A compromised release, transitive dependency, package index, or resolution configuration supplies malicious code. 4. The package is installed or subsequently imported by the financial-analysis pipeline. 5. Malicious code executes with the privileges of the user running pip or the pipeline. 6. The code may access resources available to that process, potentially including QBO credentials, downloaded accounting data, generated reports, and writable local files. This exploitation path is conditional upon compromise or manipulation of the dependency supply chain; no malicious dependency content was present in the audited artifact. ### Impact Assessment Successful exploitation wou ...[truncated 675 chars]
Remediation
## Remediation Suggestions 1. Pin `openpyxl` and every transitive dependency to versions that have been reviewed and tested. 2. Store dependencies in a committed lockfile or fully pinned requirements file. 3. Record and enforce cryptographic hashes using pip's `--require-hashes` option. 4. Explicitly use an approved package index rather than relying on ambient pip configuration. 5. Install dependencies in an isolated virtual environment under a non-privileged account. 6. Add automated dependency vulnerability and integrity scanning to the release process. 7. Document a reproducible installation procedure, for example: ```bash python3 -m venv .venv . .venv/bin/activate python3 -m pip install --index-url https://pypi.org/simple \ --require-hashes -r requirements.txt ``` The corresponding `requirements.txt` should contain exact versions and reviewed SHA-256 hashes for all resolved packages.
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
95% confidence
Finding
The skill explicitly documents that it stores financial analysis outputs and client-derived metrics in a local cache file, but the finding indicates the user-facing description does not clearly warn operators about this persistence. Because the cached data includes client financial line items, totals, net income, and derived cash-flow metrics, users may unknowingly leave sensitive financial data on disk where it can be exposed through shared workstations, backups, or insufficiently protected home directories.

Static analysis

No suspicious patterns detected.