T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned Third-Party CLI Installation Enables Supply-Chain Compromise
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 15–17
Vulnerability Type: Unpinned third-party executable dependency
Risk Level: MediumVulnerable code snippet:
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 code without pinning an immutable, reviewed version. The npm command omits a package version and installs the package globally, while the Go command explicitly requests the mutable
@latestrelease.Consequently, the code installed by these commands can differ from the code originally reviewed. If the upstream package, repository, maintainer account, or publishing workflow is compromised, users following the documented instructions could install attacker-controlled executable code. No integrity hash, commit identifier, lockfile, signature-verification procedure, or other mechanism is provided to ensure that the retrieved artifact is a known-good release.
Attack Path
- An attacker compromises the upstream npm package, Go repository, maintainer credentials, or release pipeline.
- The attacker publishes a malicious package version or changes the release resolved by
@latest. - A user follows the Skill's installation instructions.
- The package manager downloads and installs the mutable attacker-controlled release.
- The malicious code executes with the invoking user's privileges when installation hooks run, if present, or when
mineru-open-apiis invoked. - The malicious executable can access resources available to that user, including submitted PDF documents, the
MINERU_TOKENenvironment variable, and writable local files.
Impact Assessment
Successful exploitation could permit arbitrary code execution with the privileges of the user performing the installation or running the CLI. The affected sc ...[truncated 563 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin npm installation to a specifically reviewed version, for example
mineru-open-api@X.Y.Z. - Pin the Go installation to a reviewed semantic version or immutable commit rather than
@latest. - Publish expected checksums or signatures and require users to verify downloaded artifacts before execution.
- Prefer a project-local npm installation with a lockfile instead of a global installation.
- Avoid running package installation commands with administrative privileges.
- Use dependency monitoring and periodically review pinned releases for known vulnerabilities.
- Document the package's publisher, trusted source, expected artifact identity, and verification process.
- Clearly document whether local PDFs are uploaded to a remote service and how credentials and submitted documents are handled.
- Pin npm installation to a specifically reviewed version, for example
