T08 · Insecure Dependencies
- Location
README.md:20- Finding
Unpinned npm Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
README.md, line 20
Vulnerability Type: Supply-chain risk from executing an unpinned package release
Risk Level: MediumVulnerable Code Snippet:
bash npx clawfi@latest install clawfiTechnical Analysis
The documented installation command instructs users to execute the release currently associated with the npm
latesttag. This tag is mutable and does not identify a specific, previously reviewed package version.The audited project contains only
README.mdandskill.md; it does not include the npm package manifest, lockfile, integrity hash, or installer implementation needed to verify the claim that the package only copies the Skill document. Consequently, the code ultimately executed bynpxlies outside the reviewed artifact and may change after this audit.This does not establish that the current npm package is malicious. It creates a supply-chain vulnerability because compromise of the publisher account, package registry, release pipeline, or a future release could convert the documented installation process into arbitrary local code execution.
Attack Path
- An attacker compromises the npm publisher account, package release process, or another component controlling the
clawfipackage. - The attacker publishes a malicious package version and assigns it to the
latestdistribution tag. - A user follows the README and runs
npx clawfi@latest install clawfi. npxretrieves and executes the attacker-controlled package code.- The malicious installer executes with the permissions of the invoking user and may access or alter resources available to that account.
Impact Assessment
Successful exploitation could provide arbitrary code execution under the installing user's account. Depending on that account's permissions and environment, an attacker could read or modify user files, access locally available credentials and agent conf ...[truncated 792 chars]
- An attacker compromises the npm publisher account, package release process, or another component controlling the
- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith an explicitly reviewed and immutable package version. - Provide the complete installer source and package manifest in the audited repository so its behavior can be reviewed.
- Publish and document npm integrity information or cryptographic release signatures, and require verification before execution.
- Pin dependencies and commit an appropriate lockfile for the installer implementation.
- Avoid elevated execution and instruct users not to run the installer with
sudoor an administrator account. - Where practical, offer a non-executable installation method that copies a reviewed
skill.mddirectly into the appropriate directory. - Protect package publication with phishing-resistant multi-factor authentication, restricted release tokens, provenance attestations, and controlled CI-based publishing.
- Replace
