Back to skill

Security audit

文档解析工具(免费版)

Security checks for vulnerabilities and agentic risk

Overview

This skill is a broad, poorly scoped document parser that asks agents to run commands and may use cloud APIs without clear user controls.

Review this skill before installing. Use it only on documents you are comfortable processing with command-line tools, avoid cloud OCR unless you explicitly approve sending document contents to that service, and install dependencies in an isolated environment with pinned versions.

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

Unpinned Third-Party Dependencies Allow Mutable Supply-Chain Code Execution

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 126 and 215–217
Vulnerability Type: Unpinned and integrity-unverified package installation
Risk Level: Medium

Vulnerable Code

bash
pip install requests
markdown
| pdfplumber | Python library | Recommended | pip install pdfplumber |
| pytesseract | Python library | Optional | pip install pytesseract |
| Pillow | Python library | Optional | pip install Pillow |

Technical Analysis

The setup instructions install third-party Python packages without fixed versions, cryptographic hashes, a lockfile, or an explicitly trusted package index. Consequently, dependency resolution is mutable: identical installation commands may retrieve different package releases at different times.

Python package installation may execute package-controlled build or installation logic. If an upstream package, transitive dependency, package-index account, or configured package source is compromised, following these instructions could execute attacker-controlled code. The reviewed project does not itself contain a malicious dependency, so exploitation depends on a supply-chain compromise or an untrusted package source.

Attack Path

  1. An attacker compromises a named package, one of its transitive dependencies, or a package source configured in the execution environment.
  2. The Agent follows the instructions in SKILL.md and runs an unpinned pip install command.
  3. Package resolution selects the attacker-controlled or compromised release because no approved version or hash is enforced.
  4. Pip downloads and installs the package, potentially executing attacker-controlled build or installation code.
  5. The payload runs with the privileges and environmental access of the Agent user.

Impact Assessment

Successful exploitation could provide arbitrary code execution under the account running pip. The resulting access may include files available to that account, environment variables such as A ...[truncated 266 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin every direct dependency to a reviewed, exact version rather than allowing unrestricted resolution.
  2. Generate and commit a lockfile containing resolved transitive dependencies.
  3. Require cryptographic hashes, for example through a fully hashed requirements file and pip install --require-hashes.
  4. Configure an explicitly trusted package index and prevent unintended fallback to untrusted or private indexes.
  5. Review package provenance and release integrity before updating pinned versions.
  6. Install dependencies inside an isolated virtual environment or container using a non-privileged account.
  7. Avoid exposing unrelated secrets or writable host paths during dependency installation.
  8. Add automated dependency and supply-chain scanning to the update process.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The activation text is broad enough to match many ordinary file/document handling requests beyond OCR and parsing. Overbroad routing increases the chance that an agent selects this skill in inappropriate contexts, exposing exec/write/network-adjacent behavior where a narrower tool should have been used.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description states '支持中文交互', and the document consistently presents the skill as operating in Chinese without indicating that the user may choose another language. This is a natural-language policy concern because it implies a locale/language constraint without opt-in or justification.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill is presented as a narrowly scoped document parsing/OCR tool, but its body expands into generic create/query/modify/delete workflows, API integration, information retrieval, and command execution. This scope inflation can cause an agent to invoke the skill for unrelated tasks and to exercise higher-risk capabilities than users would reasonably expect from the description.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The documentation provides subprocess-based execution guidance near basic usage without prominent safety warnings or input validation requirements. Even though the sample uses argument arrays rather than shell strings, normalizing exec for end users can encourage unsafe extensions and makes command execution part of the expected workflow for a nominal document parser.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The documentation introduces external API key usage and cloud-service behavior despite marketing the tool as a free general document parser. This can route sensitive document contents to third-party services without clear disclosure, increasing risks of data exfiltration, privacy violations, and unexpected network access.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
75% confidence
Finding

The documentation asserts a polished, fully adapted skill and repeatedly describes operational capabilities. But the only direct 'core implementation logic' shown later is a placeholder assignment, which contradicts the claim of a ready, capability-complete implementation within this file.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The examples use generic natural-language triggers like 'parse this document' and 'extract tables' without scoping limits, safety checks, or confirmation requirements. In an agent ecosystem, this can lead to accidental invocation on sensitive or unsupported files and encourage autonomous tool use without enough guardrails.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

Earlier sections consistently describe the skill as handling PDFs, images, scanned documents, OCR, and table extraction. The FAQ answer instead reframes 'supported file formats' as output/structured text formats like JSON, YAML, and Markdown, which conflicts with the stated document input capabilities.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.