T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned Third-Party CLI Installed Globally
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 15–18
Vulnerability Type: Unpinned third-party dependency and mutable supply-chain source
Risk Level: MediumThe skill directs users to install a third-party executable globally without pinning it to a reviewed version or immutable commit.
bash npm install -g mineru-open-api # or via Go (macOS/Linux): go install github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api@latestTechnical Analysis
Both commands retrieve executable code from mutable external package sources. The npm command omits a version and therefore resolves the package version through the registry at installation time. The Go command explicitly uses
@latest. Consequently, the installed code can differ from the code that existed when this skill was reviewed.The npm package is installed globally, increasing its availability and exposure on the user's system. Neither installation path provides checksum validation, signature verification, an immutable commit reference, or another mechanism for ensuring that the retrieved artifact is the reviewed release.
This creates a supply-chain risk if the package registry, upstream repository, maintainer account, publication process, or a future release is compromised. The repository under audit does not itself contain a malicious payload, and no current upstream compromise was established; the vulnerability is the unsafe dependency acquisition practice.
Attack Path
- An attacker compromises the upstream package, repository, maintainer account, or release process.
- The attacker publishes a malicious version under the expected package identity or causes the mutable
latestreference to resolve to attacker-controlled code. - A user follows the installation instructions in
SKILL.md. - The package manager downloads and installs the malicious executable without verifying an audited version or immutable artifact.
- Install ...[truncated 1127 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the npm dependency to a specific reviewed version, for example:
bash npm install -g mineru-open-api@<reviewed-version> - Replace the Go
@latestreference with a specific reviewed semantic version or immutable commit:bash go install github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api@<reviewed-version-or-commit> - Publish expected artifact checksums or require cryptographic signature/provenance verification before installation.
- Prefer a project-local or isolated installation over a global installation, such as a locked project dependency, container, or restricted execution environment.
- Maintain a lockfile or equivalent dependency manifest where supported and review dependency changes before updating pinned versions.
- Document the trusted package publisher and canonical repository so users can detect similarly named or spoofed packages.
- Run the OCR client with least privilege and expose only the files and environment variables required for the operation. Avoid processing sensitive documents until the dependency's remote data-handling behavior has been independently verified.
- Pin the npm dependency to a specific reviewed version, for example:
