Back to skill

Security audit

Doc To HTML

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Word-to-HTML helper, with the main caution being that it asks users to install and authenticate a third-party MinerU CLI.

Before installing, prefer a pinned or locally scoped mineru-open-api version when possible, avoid running package installs with administrator/root privileges, and only process documents you are comfortable sending through the MinerU CLI/API with your MINERU_TOKEN configured.

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:18
Finding
Unpinned Third-Party Executable Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 18-21 **Vulnerability Type**: Unpinned and unverified third-party dependencies **Risk Level**: Medium **Vulnerable Code**: ```bash npm install -g mineru-open-api # or via Go (macOS/Linux): go install github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api@latest ``` ### Technical Analysis The documented installation commands retrieve and install mutable third-party executable code without pinning a reviewed version or verifying its integrity. The npm command resolves the package version according to the registry's current state and installs it globally. The Go command explicitly requests `@latest`, causing its effective contents to change as new upstream versions are published. This creates a supply-chain trust gap: the code executed by future users may differ from the code available at audit time. If the package, upstream repository, publishing credentials, registry entry, or transitive dependencies are compromised, following these instructions could install attacker-controlled code. The Skill contains no checksum, signature-verification procedure, lockfile, or other mechanism for detecting such substitution. No evidence establishes that the current `mineru-open-api` package is malicious. The finding concerns the unsafe, mutable installation mechanism. ### Attack Path 1. An attacker compromises the relevant npm package, upstream repository, maintainer account, release process, or transitive dependency. 2. The attacker publishes a malicious version that becomes the default npm release or the Go module version resolved by `@latest`. 3. A user follows the installation commands in `SKILL.md`. 4. The package manager downloads the compromised, unaudited release. 5. Malicious installation hooks or the installed CLI execute with the privileges of the user performing the installation. 6. Subsequent conversion commands may provide the compromised CLI with acc ...[truncated 800 chars]
Remediation
## Remediation Suggestions - Pin both installation methods to specific versions that have undergone review. For example, use an exact npm version and an immutable Go module tag or commit rather than `@latest`. - Publish expected cryptographic checksums or signature-verification instructions for approved releases. - Prefer a project-local npm installation over a global installation, and execute the pinned binary through the project's package tooling. - Use a lockfile where applicable and review transitive dependency changes before upgrades. - Document the authoritative package and repository identities so users can detect typosquatting or dependency-confusion attempts. - Establish an explicit upgrade process that includes source review, integrity verification, and security testing before changing the pinned version. - Advise users not to install the package with administrator or root privileges and to run document conversion with least-privilege credentials in an isolated environment.
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

Static analysis

No suspicious patterns detected.