T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned npm Package Execution Through a Mutable Version Tag
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 13
Vulnerability Type: Supply-chain risk caused by executing an unpinned third-party package
Risk Level: MediumVulnerable Code
bash npx clawhub@latest install crypto-research-assistantTechnical Analysis
The installation instructions invoke
npxwith the mutablelatesttag. This can cause npm to download and execute whicheverclawhubpackage release is designated aslatestat installation time. The command does not specify a reviewed, immutable package version or an integrity digest.Consequently, the code executed by users may differ from the version that was originally assessed. Exploitation would require compromise or malicious control of the relevant npm package, its publishing account, or its dependency chain; the project itself does not contain a malicious payload.
Attack Path
- An attacker compromises the
clawhubpublishing account, package, or applicable dependency chain. - The attacker publishes a malicious release and causes it to resolve through the
latesttag. - A user follows the documented installation command.
npxretrieves and executes the attacker-controlled package.- The payload runs with the operating-system permissions and environmental access of the user who invoked the command.
Impact Assessment
Successful exploitation could permit arbitrary code execution under the invoking user's account. Depending on that user's privileges and environment, the malicious package could access readable files, credentials exposed to the process, project data, network resources, and writable user-level configuration. Administrative or system-wide impact is possible only if the command is run with elevated privileges; no privilege-escalation mechanism is present in the reviewed file.
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace the mutable tag with an explicitly reviewed version, for example
npx clawhub@X.Y.Z, after verifying that release. - Prefer an installation workflow backed by a committed lockfile and npm integrity metadata where supported.
- Verify package provenance, publisher identity, signatures or attestations, and registry source before execution.
- Review the selected package version and its transitive dependencies for unexpected install scripts or executable behavior.
- Avoid running the command with administrative privileges and use a constrained environment with minimal credentials and filesystem access.
- Establish a controlled upgrade process in which newer versions are reviewed and tested before the pinned version is changed.
- Replace the mutable tag with an explicitly reviewed version, for example
