Back to skill

Security audit

专业文档处理

Security checks for vulnerabilities and agentic risk

Overview

The skill is not clearly malicious, but it substantially overstates its document-processing abilities and asks users to install unnecessary unpinned dependencies.

Install only after treating this as a scaffold or demo, not a working document processor. Review and pin any Python dependencies in an isolated environment, and avoid running batch/OCR/extraction workflows on sensitive documents until the tool clearly documents local-only handling, storage behavior, and actual implemented processing.

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:103
Finding
Unpinned Third-Party Dependencies Installed Without Integrity Verification## Vulnerability Details **File Location**: `SKILL.md`, lines 103-107 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium ```powershell ## 🔧 依赖安装 首次使用前安装依赖: ```powershell pip install python-docx PyPDF2 pillow pytesseract pandas openpyxl ``` ``` ### Technical Analysis The installation instructions retrieve six third-party packages without pinned versions, cryptographic hashes, a lockfile, or an explicitly trusted package index. Package resolution therefore depends on the package versions and index configuration available at installation time. If a package distribution account or configured Python package index is compromised, or if an unexpectedly vulnerable release becomes the resolved version, attacker-controlled code could be installed. Python packages may execute build or installation logic during installation and later execute code when imported. The current implementation does not import these dependencies or implement the advertised document-processing operations. Consequently, the documented installation step unnecessarily expands the software supply-chain attack surface. ### Attack Path 1. A user follows the dependency installation instructions in `SKILL.md`. 2. `pip` resolves the latest compatible package versions from the user's configured index or mirror. 3. A compromised, substituted, or otherwise unsafe package release is selected because no exact versions or hashes are enforced. 4. Malicious package code executes during package installation, build processing, or a subsequent import. 5. The code gains the permissions of the account running `pip`. This path requires compromise or malicious control of a dependency release, package source, or configured index; the audited project does not itself contain such a payload. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the user running the installation command. This may permit ...[truncated 440 chars]
Remediation
## Remediation Suggestions 1. Remove the dependency installation instruction until the corresponding functionality is implemented and the packages are actually required. 2. Pin every required dependency to a reviewed, exact version. 3. Generate a lockfile or hashed requirements file and install with integrity enforcement, such as `pip install --require-hashes -r requirements.txt`. 4. Use a trusted, explicitly configured package index or an internally controlled artifact repository. 5. Review transitive dependencies and automate vulnerability scanning in CI. 6. Install dependencies in an isolated virtual environment under a non-privileged account. 7. Regularly update pinned versions through a controlled review and testing process rather than resolving mutable latest versions during installation.
Vulnerability Patterns
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
该描述与代码存在明显不一致。虽然代码表面上覆盖了文档转换、OCR、公文排版、比对、水印等若干已声明方向,但实现层面几乎都是打印提示信息的脚手架,没有实际处理逻辑,因此不能准确称为完整的专业文档处理工具包。另一方面,声明中特别提到的“内容提取”在代码中完全缺失。描述还声称支持‘所有常见文档格式’和‘全功能’,但代码仅对少量格式做参数约束,且没有真实转换/处理实现,属于能力夸大。此外,代码还包含未在声明中点明的PDF拆分和合并能力。综合来看,声明对实际行为有明显过度描述,且存在能力缺失与未声明能力,因此应判定为不匹配。

Lp3

Medium
Category
MCP Least Privilege
Confidence
82% confidence
Finding
The skill advertises document-processing capabilities that inherently require file access, but it does not declare any explicit tool scope such as permissions or allowed-tools. This creates ambiguity about what files the agent may access and increases the risk of over-broad file reads against sensitive local documents when the skill is invoked.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill encourages OCR, content extraction, comparison, and batch processing of documents without warning that these operations may expose highly sensitive contents such as personal, legal, financial, or internal materials. In a document-processing context, missing privacy and handling warnings materially increases the chance of unsafe use at scale and accidental disclosure.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
This code explicitly configures output handling for Chinese text and all CLI help strings and status messages are written in Chinese. For a general-purpose document tool, this imposes a specific language/locale on users without any opt-in or documented regional limitation.

Description-Behavior Mismatch

Medium
Confidence
96% confidence
Finding
The manifest describes a comprehensive document-processing toolkit with capabilities such as 内容提取 and support for all common document formats. In the code, the command handlers only print status messages and comments like '当前先模拟' or '集成...实现', with no actual processing logic, and there is no content-extraction command at all.

Natural-Language Policy Violations

Low
Confidence
97% confidence
Finding
The entire skill description, feature list, and command guidance are presented only in Chinese, with no indication that users may choose another language or locale. Under the stated policy, forcing a specific language without opt-in is a natural-language policy concern.

Static analysis

No suspicious patterns detected.