T08 · Insecure Dependencies
- Location
SKILL.md:38- Finding
Unpinned ClawHub CLI Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:38,SKILL.md:90,README.md:6
Vulnerability Type: Unpinned third-party executable dependency
Risk Level: MediumVulnerable Code Snippets
SKILL.md:38:bash npx clawhub@latest install deepseekoracle/lygo-lora-meshSKILL.md:90:bash npx clawhub@latest install deepseekoracle/lygo-lora-meshREADME.md:6:bash npx clawhub@latest install deepseekoracle/lygo-lora-meshTechnical Analysis
The documented installation procedure invokes
npxwith the mutable@latesttag. When users execute this command,npxmay download and run a ClawHub CLI release that was not part of the audited project and whose contents can change after this audit.No exact package version, package integrity hash, lockfile, or equivalent verification mechanism is supplied. Consequently, the effective installation-time code is controlled by the current state of the external package registry rather than by the reviewed artifact.
This issue does not mean the audited Python scripts are malicious. The reviewed scripts contain no network, subprocess, shell, serial, persistence, or filesystem-write behavior. The risk arises when a user follows the external installation instructions.
Attack Path
- An attacker compromises the publisher account, package registry, distribution pipeline, or a future release of the
clawhubCLI. - The attacker publishes a malicious release and causes it to resolve through the
latestdistribution tag. - A user follows the documented
npx clawhub@latest install ...command. npxretrieves the mutable package from the external registry.- The downloaded CLI or its installation lifecycle executes attacker-controlled JavaScript on the user's machine.
- The malicious code operates with the privileges and environmental access of the user who invoked
npx.
Impact Assessment
Successful exploitation could permit arbitrary code execution under the inst ...[truncated 526 chars]
- An attacker compromises the publisher account, package registry, distribution pipeline, or a future release of the
- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith an exact, reviewed CLI version:
bash npx clawhub@1.2.3 install deepseekoracle/lygo-lora-mesh- Publish and verify the expected package integrity digest before execution. Where supported, use a lockfile or registry integrity metadata to bind installation to known package bytes.
- Document the trusted package registry explicitly and disable fallback to untrusted or user-controlled registries in automated environments.
- Prefer a separately verified installation of the ClawHub CLI, followed by invocation of that pinned local binary.
- In CI environments, run installation with a dedicated unprivileged account, minimal environment variables, restricted filesystem access, and restricted network access.
- Establish a release process that updates the pinned version only after reviewing the new CLI release and recording its integrity value.
- Replace
