T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Third-Party CLI Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 5
Vulnerability Type: Unpinned third-party dependencies resolved from external package registries and repositories
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 npm and uv installation definitions identify
mineru-open-apiwithout specifying a reviewed version or integrity hash. The Go installation definition similarly references a repository package without an immutable release version or commit hash.Consequently, installation can resolve mutable upstream content at the time the skill is installed. If a package registry account, repository, release process, or other upstream supply-chain component is compromised, a modified dependency could execute code during installation or when the CLI is invoked. The project contains no evidence that the current dependency is malicious; the vulnerability is the absence of controls that ensure the installed artifact is the same artifact that was audited.
Attack Path
- An attacker compromises an upstream package, maintainer account, repository, or release pipeline associated with
mineru-open-api. - The attacker publishes a malicious package version or modifies the repository state resolved by the unpinned installation instruction.
- A user or agent installs the skill dependency through npm, uv, or Go.
- The package manager retrieves the attacker-controlled version because no immutable version, commit, checksum, or signature is ...[truncated 850 chars]
- An attacker compromises an upstream package, maintainer account, repository, or release pipeline associated with
- Remediation
View remediation
Remediation Suggestions
- Pin the npm and uv dependencies to specific, reviewed versions rather than resolving the latest available release.
- Pin the Go dependency to a reviewed semantic version or immutable commit hash.
- Record and verify package checksums, lockfile integrity data, or cryptographic signatures where supported.
- Configure installation to use trusted registries and reject unexpected registry substitutions or unverified download sources.
- Review package provenance and release signatures before updating pinned versions.
- Perform dependency updates through a controlled review process that includes source comparison and malware scanning.
- Run installation and document conversion in a sandbox with minimal filesystem access, restricted environment variables, and constrained network permissions.
