T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Third-Party CLI Installation Creates Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 5 and 13–18
Vulnerability Type: Unpinned third-party dependencies installed from remote package registries
Risk Level: MediumVulnerable Code
yaml metadata: {"openclaw": {"emoji": "📄", "requires": {"bins": ["mineru-open-api"], "env": ["MINERU_TOKEN"]}, "primaryEnv": "MINERU_TOKEN", "install": [{"id": "npm", "kind": "node", "package": "mineru-open-api", "bins": ["mineru-open-api"], "label": "Install via npm"}, {"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"]}]}}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
Both installation mechanisms resolve dependency content dynamically rather than selecting an audited, immutable release. The npm command omits a version, causing the package manager to install the registry's current default release. The Go command explicitly uses
@latest. The skill metadata likewise identifies packages without pinned versions.Consequently, the code installed when the skill is deployed may differ from the code available during this audit. If the relevant registry account, upstream repository, publishing workflow, or transitive dependency is compromised, an attacker could distribute a malicious release through an otherwise legitimate installation command. An npm package may execute lifecycle scripts during installation, while either installed CLI can execute attacker-controlled behavior when subsequently invoked.
This is classified as T08: Insecure Dependencies because the primary weakness is unsafe dependency resolution through mutable third-party package sources. The audited file itself contains no embedded malicious implementation, persistence mechanism, ...[truncated 1666 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin npm installation to a reviewed exact version, for example:
bash npm install -g mineru-open-api@<reviewed-exact-version> - Pin the Go installation to a reviewed semantic version or immutable commit rather than
@latest:bash go install github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api@<reviewed-version-or-commit> - Apply the same exact version constraints in the skill's installation metadata so automated installation cannot silently select newer releases.
- Record and verify package integrity hashes or checksums where the installation system supports them.
- Review the pinned package, its transitive dependencies, and npm lifecycle scripts before approval.
- Prefer installation in an isolated, least-privileged environment rather than a privileged global context.
- Use a trusted internal registry or artifact mirror with release allowlisting for production deployments.
- Establish a controlled update process in which new versions are reviewed, tested, and explicitly pinned before rollout.
- Pin npm installation to a reviewed exact version, for example:
