T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:12
- Finding
- Unpinned Global Installation of Third-Party Dependencies## Vulnerability Details **File Location**: `SKILL.md`, lines 12-18 **Vulnerability Type**: Supply-chain risk from mutable, globally installed dependencies **Risk Level**: Medium ### Vulnerable Code ```bash ## Install ```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 installation instructions retrieve mutable third-party dependency versions without pinning them to a reviewed release or immutable commit. The Go command explicitly requests `@latest`, while the npm command omits a version and therefore installs the package version currently associated with the registry's latest distribution tag. The npm command also performs a global installation. Depending on the host configuration, this may install executables into system-wide locations or prompt the user to run the command with elevated privileges. Neither installation path includes checksum, signature, provenance, or integrity-verification instructions. If the upstream repository, npm package, maintainer account, release pipeline, or package distribution channel is compromised, a malicious release could be delivered after this Skill has already been reviewed. Package installation hooks or the resulting CLI executable could then run attacker-controlled code with the permissions of the user performing installation or invoking the tool. ### Attack Path 1. An attacker compromises the upstream package, repository, maintainer credentials, release pipeline, or distribution account. 2. The attacker publishes a malicious version and makes it the version selected by the npm latest tag or Go's `@latest` resolution. 3. A user follows the instructions in `SKILL.md`. 4. The package manager downloads the mutable malicious release without verification against a reviewed version or integrity value. 5. Malicious installation hooks or executable code run with the invoking user's permissions. 6 ...[truncated 800 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the npm dependency to a specific reviewed version rather than relying on the latest distribution tag: ```bash npm install mineru-open-api@<reviewed-version> ``` 2. Pin the Go dependency to a specific reviewed semantic version or immutable commit instead of `@latest`: ```bash go install github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api@<reviewed-version-or-commit> ``` 3. Publish expected checksums, signatures, or verifiable provenance for approved releases and instruct users to validate them before execution. 4. Prefer a project-local installation, isolated environment, or container over a global npm installation. 5. Explicitly advise users not to install the package with root or administrator privileges. 6. Periodically review pinned releases and update them through a controlled security review process. 7. Where supported, use package-manager lockfiles and dependency-integrity metadata to make dependency resolution reproducible.
