T08 · Insecure Dependencies
- Location
SKILL.md:32- Finding
Unpinned npm Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 32-38 and 59-90
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: MediumThe skill directs the agent to execute the
clawhubnpm package throughnpxwithout specifying a trusted version, lockfile, package integrity value, or verified source.Relevant code snippets:
bash ### 1. ClawHub (Primary) ```bash # Search skills npx clawhub search "keyword" # Browse categories npx clawhub browsetext Additional unpinned invocations are present in the search examples: ```bash ### By Functionality ```bash # Web search skills npx clawhub search "web search" # Weather skills npx clawhub search "weather" # Document skills npx clawhub search "document"By Provider
bash # Tavily skills npx clawhub search "tavily" # GitHub skills npx clawhub search "github" # Calendar skills npx clawhub search "calendar"By Popularity
bash # Most installed skills npx clawhub search --sort installs # Most starred skills npx clawhub search --sort starstext ### Technical Analysis When the requested package is not already installed locally, `npx` can retrieve it from the configured npm registry and execute its package code. Because the instructions use the mutable package name `clawhub` without an explicit version or integrity verification, the effective code executed by the agent can differ from the code that was previously reviewed. This creates a supply-chain trust boundary around the npm registry, the package publisher account, registry configuration, and name resolution. A compromised publisher account, malicious package release, registry substitution, or unsafe registry configuration could cause attacker-controlled package lifecycle or runtime code to execute locally. The repository itself does not contain a malicious script, and the audit found no evidence ...[truncated 1447 chars]- Remediation
View remediation
Remediation Suggestions
-
Pin
clawhubto a specific, reviewed version in every command, for example:bash npx --yes clawhub@<reviewed-version> search "keyword" -
Verify the selected release's publisher, provenance, checksums, signatures, and package contents before approving it.
-
Prefer installing the dependency through a project manifest and lockfile so that the exact dependency graph and integrity hashes are recorded and reviewable.
-
Configure npm to use an explicitly trusted registry and prevent user-controlled or environment-controlled registry substitution where practical.
-
Disable or review package lifecycle scripts during installation when they are not required.
-
Execute the CLI in a sandbox with minimal filesystem access, no unnecessary secrets, restricted network access, and no administrative privileges.
-
Document an update-review process rather than automatically consuming the latest registry release.
-
