T08 · Insecure Dependencies
- Location
SKILL.md:10- Finding
Unpinned npm Package Execution in Installation Command
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 10
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumVulnerable Code:
yaml install: "npx clawhub install village-blacksmith-starter"Technical Analysis
The installation command invokes
clawhubthroughnpxwithout specifying an exact package version or integrity value. If the package is not already available from a trusted local installation,npxmay retrieve and execute the currently resolved version from the configured npm registry.Consequently, the executable code used during installation can change after this skill has been reviewed. The project does not provide a lockfile, package manifest, integrity hash, or vendored implementation that identifies and verifies the exact
clawhubpackage being executed. This creates a supply-chain trust boundary that is not controlled by the audited project.Exploitation would require the resolved package or package-distribution channel to become malicious, such as through package maintainer compromise, registry compromise, dependency confusion caused by an unsafe registry configuration, or publication of a malicious replacement version.
Attack Path
- An attacker compromises the npm package or account associated with the resolved
clawhubpackage, controls a registry selected by the user's npm configuration, or otherwise causes a malicious package version to be resolved. - The attacker publishes a version containing malicious installation or runtime code.
- A user follows the documented command:
shell npx clawhub install village-blacksmith-starter npxdownloads the attacker-controlled package because the command does not constrain resolution to an audited version and integrity value.npxexecutes the downloaded CLI in the installing user's security context.- The malicious package can perform operations permitted to that us ...[truncated 856 chars]
- An attacker compromises the npm package or account associated with the resolved
- Remediation
View remediation
Remediation Suggestions
- Pin the installation tool to an exact, reviewed version rather than relying on unconstrained package resolution. For example, use the package manager's explicit package and version syntax:
shell npx --package=clawhub@<audited-version> -- clawhub install village-blacksmith-starter - Verify the precise command syntax supported by the selected package-manager version before publishing it.
- Use a lockfile and npm integrity metadata where installation is managed through a package manifest.
- Configure npm to use an approved HTTPS registry and document the expected package publisher and source repository.
- Review the pinned package, its lifecycle scripts, and its transitive dependencies before trusting it.
- Prefer an already installed and administratively managed CLI in controlled environments, and avoid running the installer with administrator or root privileges.
- Establish an update process in which version changes are reviewed, tested, and explicitly approved before the pinned version is advanced.
- Pin the installation tool to an exact, reviewed version rather than relying on unconstrained package resolution. For example, use the package manager's explicit package and version syntax:
