T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:5
- Finding
- Unpinned Executable Dependencies## Vulnerability Details **File Location**: `SKILL.md:5, 15-17` **Vulnerability Type**: Unpinned third-party executable dependencies **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"openclaw": {"emoji": "📄", "requires": {"bins": ["mineru-open-api"], "env": ["MINERU_TOKEN"]}, "primaryEnv": "MINERU_TOKEN", "install": [{"id": "npm", "kind": "node", "package": "mineru-open-api", "bins": ["mineru-open-api"], "label": "Install via npm"}, {"id": "go", "kind": "go", "package": "github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api", "bins": ["mineru-open-api"], "label": "Install via go install", "os": ["darwin", "linux"]}]}} ``` ```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 Both documented installation methods retrieve mutable dependency versions. The npm command omits a version and therefore installs the version currently selected by the package registry. The Go command explicitly selects `@latest`. Neither method pins an audited release, commit, checksum, or package integrity value. As a result, the executable installed by future users may differ from the executable present when the skill was reviewed. A compromised upstream release, package-registry account, source repository, or maintainer account could distribute attacker-controlled code through these installation instructions. The global npm installation increases the local exposure because it installs the CLI into the user's global environment. No evidence establishes that the current MinerU package is malicious. The issue is the absence of reproducible version and integrity controls. ### Attack Path 1. An attacker compromises an upstream maintainer account, package publication process, source repository, or release pipeline. 2. The attacker publishes a malicious version of `mineru-open-api` or causes a malicious Go revisio ...[truncated 1076 chars]
- Remediation
- ## Remediation Suggestions - Pin the npm dependency to a specifically reviewed version, for example `mineru-open-api@<reviewed-version>`. - Replace Go's `@latest` reference with a reviewed semantic version or immutable commit identifier. - Keep the versions in the metadata installation declarations consistent with those in the installation examples. - Prefer project-local npm installation over global installation where operationally practical. - Use a lockfile and package-manager integrity metadata for reproducible installations. - Verify release signatures or published checksums before installation where the upstream project provides them. - Establish a dependency update process that reviews and tests each new version before changing the pinned reference. - Document that the CLI receives access to `MINERU_TOKEN` and may process presentation contents, so users can make an informed trust decision before installing or invoking it.
