T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Third-Party CLI Dependencies Permit Supply-Chain Compromise
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 5
Vulnerability Type: Unpinned third-party dependencies
Risk Level: MediumVulnerable Code Snippet:
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 Skill permits installation of
mineru-open-apithrough npm, uv, or Go without specifying an immutable version, commit hash, checksum, or signature. Consequently, installation resolves mutable content from an external package registry or source repository that was not included in the audited project.If one of these distribution channels, package-owner accounts, repositories, or future releases is compromised, the installed package may contain attacker-controlled executable code. Package installation hooks or the resulting CLI binary could execute with the privileges of the Agent process. The use of several unpinned installation channels also expands the supply-chain attack surface and makes reproducible verification difficult.
No evidence establishes that the currently published packages are malicious. The risk arises from trusting mutable, unaudited dependency versions at installation time.
Attack Path
- An attacker compromises a package maintainer account, registry release process, source repository, or another relevant dependency-distribution component.
- The attacker publishes a malicious release under the expected
mineru-open-apipackage or repository path. - The Agent installs the dependency using one of the unversioned installa ...[truncated 1061 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin each installation method to a specific audited version. For Go installations, use an immutable release tag or commit identifier rather than an unresolved repository path.
- Record and verify cryptographic checksums or trusted signatures for downloaded artifacts before execution.
- Prefer one verified official distribution source instead of offering several independently mutable installation channels.
- Review the selected release and its transitive dependencies before approving it for Agent use.
- Use package-manager lockfiles where applicable and enforce reproducible installation in deployment workflows.
- Disable package lifecycle scripts when they are unnecessary and supported by the package manager.
- Perform installation and OCR processing in a sandbox or container with minimal filesystem, credential, and network access.
- Establish an explicit dependency-update process so version changes require review and integrity verification.
