T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 15
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumVulnerable Code
yaml install: "npx clawhub install howtousehumans/electrical-backup-power"Technical Analysis
The installation command invokes
clawhubthroughnpxwithout specifying a reviewed package version or integrity hash. If the package is absent locally,npxmay retrieve and execute its current release from the configured npm registry.Consequently, the code executed during installation is not immutable and may differ from the version evaluated when this skill was reviewed. This creates a supply-chain trust boundary involving the package publisher, registry, account security, dependency graph, and local npm configuration.
Attack Path
- An attacker compromises the package publisher, registry entry, or an upstream dependency used by the unpinned
clawhubrelease. - The attacker publishes a malicious or compromised version under the package name resolved by
npx. - A user runs the documented installation command.
npxresolves and downloads the current package release if a suitable trusted local copy is unavailable.- Package lifecycle behavior or CLI code executes the attacker's payload under the installing user's account.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the privileges of the user running the installation command. Depending on that user's permissions and environment, the payload could read or modify accessible files, steal environment variables or credentials, alter development configuration, install additional components, or make network requests.
The reviewed project itself contains no malicious scripts, credential access, persistence mechanism, obfuscation, or data-exfiltration implementation. The risk arises specifically from mutable, unverified third-party code execu ...[truncated 25 chars]
- An attacker compromises the package publisher, registry entry, or an upstream dependency used by the unpinned
- Remediation
View remediation
Remediation Suggestions
- Pin
clawhubto an explicitly reviewed version instead of allowingnpxto resolve a mutable current release. - Verify the package publisher, provenance, registry source, and published integrity metadata before documenting the command.
- Use a lockfile or equivalent immutable dependency mechanism where the installation workflow supports one.
- Prefer an invocation such as
npx --yes clawhub@<reviewed-version> ..., accompanied by documented integrity verification. - Periodically review and deliberately update the pinned version rather than accepting upgrades implicitly.
- Run installation under a least-privileged account and avoid exposing unnecessary secrets in the installation environment.
- Pin
