Back to skill

Security audit

财务会计入门工具

Security checks for vulnerabilities and agentic risk

Overview

This accounting skill is not clearly malicious, but it asks for broad command execution around sensitive financial data with loose activation scope and inconsistent security/data-flow claims.

Install only if you are comfortable with an agent using shell commands around local financial files. Keep it limited to explicit accounting tasks, review commands before execution, use a virtual environment, pin optional Python packages, and avoid giving it access to unrelated directories or credentials until the data-flow and command boundaries are clarified.

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:233
Finding

Unpinned Third-Party Python Dependencies

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 233-234
Vulnerability Type: Supply-chain risk caused by unpinned dependencies
Risk Level: Medium

Vulnerable Code Snippet:

markdown
| openpyxl | Python library | Optional | `pip install openpyxl` (Excel export) |
| reportlab | Python library | Optional | `pip install reportlab` (PDF generation) |

Technical Analysis

The documented installation commands retrieve the latest versions of openpyxl and reportlab available from pip's configured package index. They do not specify reviewed versions, enforce cryptographic hashes, use a lockfile, or explicitly identify a trusted package repository.

Consequently, the effective dependency code can change between installations without any corresponding change to the audited Skill. A compromised upstream release, package-index account, repository configuration, or dependency in the transitive dependency graph could cause users to install code that was never reviewed as part of this artifact.

Although the audited document does not itself contain a malicious payload or retrieve one explicitly, the installation guidance does not provide controls that ensure dependency integrity or reproducibility.

Attack Path

  1. An attacker compromises an upstream package release, a relevant transitive dependency, or the package source configured in the target environment.
  2. The attacker publishes a malicious release that satisfies the unconstrained package name.
  3. A user follows the documented pip install openpyxl or pip install reportlab command.
  4. pip resolves and downloads the attacker-controlled or compromised release because no approved version or hash is enforced.
  5. Malicious package behavior may execute during installation or when the package is subsequently imported by the financial application.
  6. The payload operates with the privileges and data access of the user or Agent process that install ...[truncated 758 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin every direct dependency to a reviewed version rather than installing an unconstrained latest release.

  2. Store dependencies in a version-controlled requirements or lock file that also fixes transitive versions.

  3. Generate and enforce cryptographic hashes, for example:

    bash
    python -m pip install --require-hashes -r requirements.txt
    
  4. Document and enforce the trusted package index with pip configuration or an explicit approved index URL.

  5. Verify package provenance and review release notes before updating pinned versions.

  6. Run dependency vulnerability and integrity scanning in the release process.

  7. Install packages in an isolated virtual environment under a non-privileged account; do not use administrator or root privileges.

  8. Test dependency upgrades in a controlled environment before changing the approved lockfile.

Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (6)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The activation description is overly broad, covering generic data analysis, reporting, statistics, and visualization requests rather than tightly constraining the skill to accounting tasks. In an agent environment, this increases the chance the skill is invoked in unrelated contexts where its exec capability and finance-oriented assumptions are unnecessary and potentially unsafe.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The manifest description states '支持中文交互', and the document consistently presents usage as Chinese-only, but does not say users may choose another language. This can violate language or locale policy when a skill appears to force a specific language without opt-in.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This accounting skill requests broad exec capability even though its described use case is basic bookkeeping, reconciliation, and report generation. Unscoped command execution materially expands the attack surface: if an agent uses this skill on untrusted inputs, arbitrary local commands, file access, or secondary tool invocation could occur under the guise of normal financial operations.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The capability coverage section lists fragmented, vague keywords as invocation cues without clear boundaries. Such broad matching terms can cause over-triggering by an agent router, leading this skill to be selected for loosely related prompts and exposing users to unnecessary command execution or sensitive-data handling.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The documentation makes strong trust claims that all financial data remains local and that no external services are involved, yet the skill is granted exec and includes network-oriented troubleshooting guidance. That mismatch can mislead users and downstream agents into underestimating the possibility of data exposure or unexpected command behavior, which is especially risky for sensitive accounting data.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The file claims no API key is required and no external APIs are used, but adjacent sections discuss API-key handling and HTTPS/SSL network communication as though such behavior may exist. Even if this is only templated or stale documentation, contradictory security statements create false assurance and can cause operators to deploy the skill with incorrect trust assumptions.

Content

No source excerpt is available for this finding.