T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Third-Party Executable Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 5
Vulnerability Type: Unpinned executable dependencies from external package registries and repositories
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 permits the
mineru-open-apiexecutable to be installed from npm, a Python package source throughuv, or a Go repository. None of these installation options specifies a reviewed package version, immutable commit, artifact checksum, or signature.Consequently, installation can resolve to a package version that differs from the version originally reviewed. If a package registry account, upstream repository, release pipeline, or package publisher is compromised, an attacker could distribute modified installation or runtime code without changing this Skill. Package installation hooks and the installed executable may then run with the privileges granted to the Agent or installation process.
This finding does not establish that the current upstream packages are malicious. It identifies a supply-chain weakness caused by trusting mutable, unverified dependency references.
Attack Path
- An attacker compromises an upstream package publisher, registry account, source repository, or release pipeline associated with one of the declared installation sources.
- The attacker publishes a malicious version of
mineru-open-apior modifies the mutable upstream source. - A user or Agent insta ...[truncated 1247 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every installation option to a specifically reviewed release:
- Use an exact npm package version rather than an unconstrained package name.
- Use an exact Python package version for installation through
uv. - Pin the Go dependency to an immutable tagged version or commit.
- Enforce artifact integrity using lockfiles, registry integrity metadata, cryptographic checksums, or verifiable release signatures.
- Confirm and document the canonical package publisher and repository for every ecosystem to reduce dependency-confusion and impersonation risks.
- Review each pinned artifact and repeat the security review before updating its version.
- Disable automatic dependency installation where feasible and require explicit user approval before installing or upgrading executable packages.
- Perform installation and execution with least privilege in a sandbox or restricted environment with only the filesystem and network access required for OCR.
- Avoid processing sensitive or regulated images unless the user explicitly consents to uploading them to the documented third-party cloud service.
- Pin every installation option to a specifically reviewed release:
