T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Unpinned Global Installation of Third-Party Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 12-18
Vulnerability Type: Supply-chain risk from mutable, globally installed dependencies
Risk Level: MediumVulnerable 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@latesttext ### 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
View remediation
Remediation Suggestions
- 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> - 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> - Publish expected checksums, signatures, or verifiable provenance for approved releases and instruct users to validate them before execution.
- Prefer a project-local installation, isolated environment, or container over a global npm installation.
- Explicitly advise users not to install the package with root or administrator privileges.
- Periodically review pinned releases and update them through a controlled security review process.
- Where supported, use package-manager lockfiles and dependency-integrity metadata to make dependency resolution reproducible.
- Pin the npm dependency to a specific reviewed version rather than relying on the latest distribution tag:
