T08 · Insecure Dependencies
- Location
README.md:31- Finding
Unpinned npm Package Execution in Installation Instructions
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 31–35
Vulnerability Type: Supply-chain risk from mutable third-party package execution
Risk Level: Mediummarkdown ## Installation ```bash npx clawhub@latest install tetsuakira-vk/japanese-daily-drilltext ### Technical Analysis The installation instructions invoke `npx` with the mutable `clawhub@latest` version selector. When a user runs this command, `npx` may download and execute package code from the configured npm registry without an exact version pin, integrity constraint, or documented provenance-verification step. The behavior being executed can therefore change after this project has been reviewed. A compromised maintainer account, malicious package release, or registry-level supply-chain incident could cause a future `latest` version to execute unintended code. The audited project does not itself contain malicious executable code; the risk arises from instructing users to execute an unpinned external dependency. ### Attack Path 1. An attacker compromises the npm package, its publisher account, or its release pipeline. 2. The attacker publishes a malicious version that becomes the package's `latest` release. 3. A user follows the documented installation command. 4. `npx` retrieves the mutable malicious release from the configured registry. 5. Package lifecycle code or CLI entry-point code executes under the installing user's account. 6. The payload can access resources available to that user and perform arbitrary actions within those privileges. ### Impact Assessment Successful exploitation could permit arbitrary code execution with the privileges of the user running the installation command. Depending on that user's environment, the malicious package could read or modify user-accessible files, steal environment variables or development credentials, alter local configuration, or install additional software. The scope is limi ...[truncated 226 chars]- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith an exact, reviewed package version, for exampleclawhub@X.Y.Z. - Document the expected npm registry and package publisher so users can verify provenance.
- Publish and verify the package integrity digest where the installation workflow supports it.
- Review release artifacts before updating the documented version.
- Use a lockfile or equivalent immutable dependency record in automated installation workflows.
- Advise users not to execute the command with administrative privileges.
- Consider separating package download from execution so users can inspect the resolved package and version before running it.
- Replace
