T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Global npm Dependency Creates Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:5
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumComplete Code Snippet:
yaml metadata: { "openclaw": { "always": false, "primaryEnv": "MINARA_API_KEY", "requires": { "bins": ["minara"], "config": ["skills.entries.minara.enabled"] }, "emoji": "👩", "homepage": "https://minara.ai", "install": [{ "id": "node", "kind": "node", "package": "minara@latest", "global": true, "bins": ["minara"], "label": "Install Minara CLI (npm)" }] } }Technical Analysis
The Skill installs
minara@latestglobally. The mutablelatesttag does not identify an immutable, previously audited package version. Consequently, the code installed in the future may differ from the code that was present when this Skill was reviewed.npm packages can execute lifecycle scripts during installation and arbitrary code when invoked. Global installation also makes the resulting executable broadly available in the user's environment. This is particularly sensitive because the CLI handles wallet operations, authenticates through
MINARA_API_KEYor~/.minara/credentials.json, and can initiate fund-moving transactions.The audit did not establish that the current
minarapackage is malicious. The vulnerability is the unsafe dependency policy and the resulting exposure to a future compromised, hijacked, or defective release.Attack Path
- An attacker compromises the npm publisher account, package release process, or another component of the package's distribution chain.
- The attacker publishes a malicious version under the
minarapackage and assigns it to thelatesttag. - A user installs or reinstalls the Skill dependency.
- The installer resolves
minara@latestto the attacker-controlled release and installs it globally. - Malicious lifecycle or runtime code executes with the installing user's privileges.
- The compromised CLI ...[truncated 1004 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
minara@latestwith an exact, reviewed version, such asminara@2.4.12where that version has been independently verified. - Enforce package integrity using a lockfile, verified registry integrity metadata, or a pinned artifact digest.
- Establish a controlled update process that reviews source changes and package lifecycle scripts before changing the pinned version.
- Avoid global installation where practical. Install the CLI in a dedicated, least-privileged environment with constrained filesystem and environment-variable access.
- Disable npm lifecycle scripts during installation unless they are documented, audited, and required.
- Verify package provenance and publisher identity through trusted registry provenance or signed releases.
- Ensure transaction confirmation presents authoritative transaction details through a trusted channel independent of mutable CLI output.
- Restrict credential-file permissions and expose
MINARA_API_KEYonly to the specific process that requires it.
- Replace
