Back to skill

Security audit

财报分析入门工具

Security checks for vulnerabilities and agentic risk

Overview

This skill mostly matches local financial report analysis, but its broad command/read authority and conflicting API/network documentation create a review-worthy trust-boundary concern.

Review before installing. Use this only for local Excel/PDF financial reports, preferably in a constrained environment with access only to the files being analyzed. Avoid providing API keys unless the publisher clarifies why they are needed, what service is contacted, and what financial data leaves the machine. Pin dependencies or use a trusted package source if you proceed.

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

Unpinned Third-Party Python Dependencies

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 137 and 232–234
Vulnerability Type: Insecure dependency installation
Risk Level: Medium

Vulnerable Code Snippets:

bash
pip install pandas openpyxl pdfplumber
markdown
| pandas | Python library | Required | `pip install pandas` |
| openpyxl | Python library | Required | `pip install openpyxl` (Excel) |
| pdfplumber | Python library | Optional | `pip install pdfplumber` (PDF) |

Technical Analysis

The skill instructs the user or agent to install third-party Python packages without specifying reviewed versions or cryptographic hashes. Package names are resolved dynamically through the environment's configured Python package index. As a result, the installed artifacts may change after the skill has been audited.

This is a supply-chain weakness rather than evidence that the named packages are malicious. If a package release, transitive dependency, configured index, or package-resolution path is compromised, package installation or subsequent import may execute attacker-controlled code with the privileges of the user running the agent.

The project contains no dependency lock file, hash manifest, or package source restriction that would allow consumers to verify that they receive the same reviewed artifacts.

Attack Path

  1. An attacker compromises a dependency release, one of its transitive dependencies, or a package index used by the execution environment.
  2. The user or agent follows the documented setup command and runs pip install pandas openpyxl pdfplumber.
  3. pip resolves an unpinned, attacker-controlled artifact from the configured index.
  4. Malicious code executes during installation or when the package is imported by a reporting workflow.
  5. The payload operates with the privileges and filesystem or network access of the user or agent process.

Impact Assessment

Successful exploitation could permit arbi ...[truncated 550 chars]

Remediation
View remediation

Remediation Suggestions

  1. Move dependencies into a version-controlled requirements or lock file and pin each direct and transitive dependency to a reviewed version.
  2. Record cryptographic hashes for every approved distribution and enforce them during installation:
    bash
    python3 -m pip install --require-hashes -r requirements.txt
    
  3. Generate the lock file in a controlled build environment and review dependency changes before updating it.
  4. Restrict installation to an approved HTTPS package index or an internally managed package mirror.
  5. Prefer isolated virtual environments or containers with minimal privileges and no unnecessary access to sensitive financial files during dependency installation.
  6. Add automated dependency vulnerability and integrity scanning to the release process.
  7. Separate dependency installation from report processing so installation scripts do not run in a context containing sensitive input documents or credentials.
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 (7)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The activation language is broad enough to overlap with generic data-analysis, reporting, statistics, and visualization requests. In agent routing contexts, overbroad triggers can cause this skill to be selected outside its intended scope, exposing exec/read capabilities for tasks that do not require them.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The description states '支持中文交互', and the document consistently presents the skill as Chinese-only behavior without any user opt-in or alternative language option. Under the language/locale policy, a skill should not impose a language preference unless the user is given a choice or the restriction is clearly justified.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The capability coverage section lists many broad keywords as invocation cues without meaningful limits. This increases accidental or opportunistic routing to the skill for unrelated prompts, which is risky because the skill is allowed to read files and execute commands.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill claims all processing is local and no API key is needed, but elsewhere documents API integration, HTTPS communication, and API-key handling. This inconsistency can mislead users and agent frameworks about the skill's trust boundary, causing unintended network access or disclosure of sensitive data under the assumption of purely local execution.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The advertised purpose is narrow financial-file analysis, but the documented capabilities expand into generic API integration, command execution, file operations, and information retrieval. In an agent environment, this scope creep increases the chance the skill is invoked for unrelated requests and then gains access to powerful tools beyond what users reasonably expect.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

External API integration is not justified by the skill's stated local-reporting use case. Unnecessary mention or inclusion of external service access widens the attack surface and can normalize outbound data transfer from sensitive financial documents without a clear functional need.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

Guidance about environment variables and API keys contradicts the claim that the free version needs no API key and processes everything locally. Even if only documentary, this can confuse operators into provisioning secrets unnecessarily or trusting inaccurate security properties.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.