T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Third-Party CLI Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 5
Vulnerability Type: Supply-chain risk from mutable, unverified dependencies
Risk Level: MediumVulnerable Code
yaml metadata: {"openclaw":{"emoji":"📄","requires":{"bins":["mineru-open-api"]},"install":[{"id":"npm","kind":"node","package":"mineru-open-api","bins":["mineru-open-api"],"label":"Install via npm"},{"id":"uv","kind":"uv","package":"mineru-open-api","bins":["mineru-open-api"],"label":"Install via uv"},{"id":"go","kind":"go","package":"github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api","bins":["mineru-open-api"],"label":"Install via go install","os":["darwin","linux"]}]}}Technical Analysis
The installation metadata references packages from the npm, Python/uv, and Go ecosystems without pinning reviewed versions, immutable commit hashes, checksums, or signatures. Installation therefore resolves mutable package identifiers whose contents may change after this Skill has been audited.
The Skill also does not provide evidence that the npm and Python packages are controlled by the owner of the referenced Go repository. This creates exposure to compromised registry releases, maintainer-account takeover, dependency confusion, or package-name ownership problems. Package installation hooks or a subsequently invoked
mineru-open-apiexecutable could run attacker-controlled code.Attack Path
- An attacker compromises a maintainer or registry account associated with one of the referenced package names, or otherwise gains control of its resolved release.
- The attacker publishes a malicious release under the unchanged mutable package identifier.
- A user or automated Skill installer resolves and installs that release because no trusted version, digest, or commit is specified.
- Malicious installation hooks execute during installation, or the malicious
mineru-open-apibinary executes when the Skill processes a PDF. - The pa ...[truncated 581 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every dependency to a reviewed, exact version. For Go installation, use an immutable reviewed version or commit rather than an unqualified module path.
- Record and verify cryptographic checksums or trusted signatures for downloaded artifacts.
- Confirm and document that packages in all three registries are published by the same trusted project owner.
- Prefer one verified distribution channel instead of maintaining several unauthenticated alternatives.
- Disable package installation scripts where supported and unnecessary.
- Run installation and document conversion with least privilege in a sandbox or container, restricting filesystem and network access.
- Establish an update process that reviews and tests each new dependency version before changing the pin.
