T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned Global Installation of Executable Third-Party Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 15-17
Vulnerability Type: Unpinned executable dependency installation
Risk Level: MediumVulnerable Code
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
The installation instructions retrieve executable dependencies without pinning them to reviewed, immutable versions. The npm command omits a version entirely, causing the package manager to resolve the current registry version. The Go command explicitly selects the mutable
@latestversion.Both commands install a CLI executable from an external dependency source. The npm installation is global, increasing the dependency's accessibility within the user's environment. No checksum, signature, commit hash, or other integrity-verification mechanism is documented. Consequently, the code installed by these commands can change after the skill itself has been audited.
This creates a supply-chain risk if the package registry account, upstream repository, release process, or package ownership is compromised. The audit found no evidence that the currently referenced project is malicious; the vulnerability is the unsafe, mutable installation method.
Attack Path
- An attacker compromises the npm package, upstream Go repository, maintainer credentials, or associated release process.
- The attacker publishes a malicious version that becomes the default npm release or the revision resolved by
@latest. - A user follows the installation instructions in
SKILL.md. - The package manager downloads and installs the altered executable without validating it against a version and integrity value reviewed by the skill author.
- Malicious code may execute during an npm installation lifecycle script or when the installed
mineru-open-apicommand is invoked. - The payload operates with ...[truncated 765 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin both installation methods to specific versions that have been reviewed:
bash npm install -g mineru-open-api@<reviewed-version> go install github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api@<reviewed-version-or-commit> - Prefer immutable Go commit hashes or signed release tags rather than
@latest. - Publish expected package checksums or signatures and instruct users to verify downloaded artifacts before execution.
- Avoid global npm installation where practical. Use a project-local dependency with a lockfile and invoke it through the package manager.
- Disable unnecessary npm lifecycle scripts during installation when compatible with the package, or review all lifecycle scripts before permitting execution.
- Document a tested version-upgrade process that includes source review, provenance verification, and integrity-value updates.
- Advise users not to run installation commands with administrative privileges unless demonstrably necessary.
- Pin both installation methods to specific versions that have been reviewed:
