T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:5
- Finding
- Unpinned Third-Party Executable Dependencies<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:5` **Vulnerability Type**: Unpinned executable dependencies from multiple package ecosystems **Risk Level**: Medium ### Vulnerable 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 Skill allows the `mineru-open-api` executable to be installed through npm, uv, or Go without specifying a reviewed version, immutable source commit, or integrity hash. Consequently, installation may resolve to a package release that did not exist when the Skill was audited. Because the installed component is executable and processes user-supplied files, compromise of a package registry account, upstream repository, release process, or dependency chain could introduce arbitrary code into the Agent environment. Providing several mutable installation sources for the same binary name also increases provenance ambiguity and the supply-chain attack surface. This finding does not establish that the current upstream packages are malicious. Exploitation depends on a malicious or compromised future package version being resolved during installation. ### Attack Path 1. An attacker compromises an upstream package publisher, package registry account, source repository, or release pipeline associated with one of the configured installation sources. 2. The attacker publishes a malicious release under the expected package name or modifies the mutable upstream source. 3. The Agent installs `mineru-open-api` without enforcing a reviewed version, commit, or integr ...[truncated 1106 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin every supported package source to a specifically reviewed version. For the Go source, use an immutable commit or release tag rather than a mutable default branch. 2. Enforce package integrity verification through registry lockfiles, checksums, signatures, or cryptographic digests where the installer supports them. 3. Prefer one verified installation source instead of offering several equivalent mutable sources for the same executable. 4. Verify publisher identity, package provenance, release signatures, and repository ownership before approving updates. 5. Test dependency updates in an isolated environment and require explicit review before changing pinned versions. 6. Run the converter in a sandbox or container with minimal filesystem permissions, restricted environment variables, and network access limited to the documented MinerU API endpoints. 7. Require explicit user confirmation before uploading confidential local documents to the remote conversion service. ]]>
