T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Global Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:5,14-17
Vulnerability Type: Unpinned and mutable third-party dependencies
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 methods resolve mutable dependency versions. The npm command omits an explicit version and therefore installs the registry version associated with the current default distribution tag. The Go command explicitly uses
@latest. The project provides no fixed version, immutable commit, checksum, signature-verification procedure, or vendored source with which users can reproduce and validate the dependency.A compromised package-publishing account, upstream repository, release process, or registry could consequently replace the dependency after this Skill has been reviewed. npm packages can execute lifecycle scripts during global installation, while the Go source controls the resulting executable that users later invoke. Global npm installation also increases the affected local scope compared with an isolated, project-local installation.
This finding does not establish that the current upstream package is malicious. It identifies an exploitable supply-chain trust boundary created by installing mutable, unverified releases.
Attack Path
- An attacker compromises the npm package, upstream reposito ...[truncated 1397 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the npm package to a specifically reviewed version instead of relying on the default distribution tag, using a form such as
mineru-open-api@VERSION. - Replace the Go
@latestreference with a fixed, reviewed release tag or immutable commit identifier. - Publish expected package checksums or signature-verification instructions and verify them before installation.
- Prefer a project-local or otherwise isolated npm installation over a global installation where operationally possible.
- Review the resolved package contents, npm lifecycle scripts, transitive dependencies, and Go module graph before approving a version.
- Use automated dependency monitoring, but require security review before updating the pinned version.
- Run the extraction tool with least privilege and provide only the files and environment variables required for the current operation.
- Pin the npm package to a specifically reviewed version instead of relying on the default distribution tag, using a form such as
