T08 · Insecure Dependencies
- Location
README.md:72- Finding
Unpinned npm Package Retrieval and Execution
- Content
View full analysis
Vulnerability Details
File Location:
README.md:72
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumComplete Code Snippet:
bash npx clawhub@latest install haskellTechnical Analysis
The installation guidance directs users to execute the mutable
latestrelease of theclawhubnpm package. When the package is not already cached,npxretrieves it from the configured npm registry and executes its CLI code with the permissions of the invoking user.Because
latestis a mutable distribution tag rather than an immutable, audited version, the code ultimately executed can change after this Skill has been reviewed. A compromised package maintainer account, registry package takeover, malicious new release, or compromised dependency could therefore turn this documented installation command into a remote code-execution path.The network access is relevant to installing the Skill, but selecting and executing an unpinned release exceeds the minimum necessary supply-chain trust. Installation can instead use an exact reviewed version and integrity verification.
Attack Path
- An attacker compromises the
clawhubnpm package, its maintainer account, publishing pipeline, or a dependency executed during installation. - The attacker publishes a malicious release and assigns it the
latestdistribution tag. - A user follows the command documented in
README.md. npxdownloads the current package associated withlatest.- The package's CLI or lifecycle code executes locally before the user can meaningfully inspect the retrieved implementation.
- The malicious code acts with the invoking user's permissions and can access resources available to that user.
Impact Assessment
Successful exploitation could provide arbitrary code execution under the account running the command. Depending on that account's environment and permissions, the malicious package could read ...[truncated 414 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith an exact version that has been reviewed, for example:bash npx clawhub@X.Y.Z install haskell - Verify the selected package version's provenance, publisher, release history, and integrity before documenting it.
- Where practical, use a lockfile and npm integrity metadata to make dependency resolution reproducible.
- Prefer invoking a separately installed, trusted CLI rather than combining remote retrieval and execution in one command.
- Document that users should not run the installer with
sudoor an administrator account. - Establish an update process in which version changes are explicitly reviewed before the pinned command is revised.
- Consider documenting a manual download-and-verification path for security-sensitive environments.
- Replace
