T08 · Insecure Dependencies
- Location
SKILL.md:36- Finding
Unpinned Third-Party Executable Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:36,SKILL.md:43-49, andSKILL.md:177
Vulnerability Type: Unpinned globally installed executable dependencies
Risk Level: MediumVulnerable Code
yaml metadata: {"openclaw":{"emoji":"⚡","homepage":"https://mineru.net","source":"https://github.com/MinerU-Extract/mineru-fast-extract","author":"OpenDataLab","requires":{"bins":["mineru-open-api"]},"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-apibash go install github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api@latestbash npm install -g mineru-open-api@latestTechnical Analysis
The skill directs users or agents to install the
mineru-open-apiexecutable from npm or a remote Go repository without pinning it to a reviewed immutable version. The Go installation and upgrade commands explicitly select@latest, while the ordinary npm installation implicitly resolves the latest available release.Because the installed executable is subsequently authorized through the skill's
allowed-toolsconfiguration and processes user-supplied documents, its effective behavior is determined by package content retrieved after this skill was reviewed. A compromised registry account, repository, package release, or transitive dependency could therefore introduce attacker-controlled executable code without requiring any change toSKILL.md.Global npm installation further increases exposure because package installation scripts can execute with the permissions of the user performing the installation. The reviewed file does not establish that the current package is malicious; the vulnerability is ...[truncated 1712 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin npm installations to a specifically reviewed version rather than resolving the latest release:
bash npm install -g mineru-open-api@X.Y.Z -
Pin 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@vX.Y.Z -
Update the skill metadata so its installation definitions identify the same reviewed versions used in the documentation.
-
Verify downloaded artifacts using publisher signatures, registry provenance, checksums, or an equivalent integrity mechanism before execution.
-
Review npm lifecycle scripts and transitive dependencies before approving each upgrade. Use lockfiles or a controlled internal mirror where the deployment model permits them.
-
Avoid automatic upgrades to
latest. Establish a controlled process in which new releases are reviewed, tested in isolation, and then deliberately promoted. -
Prefer a project-local or sandboxed installation over global installation. Run document processing with minimal filesystem and network permissions.
-
Document whether files are transmitted to a remote service and ensure sensitive documents are processed only after users understand and approve the relevant data-handling behavior.
-
