T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:37
- Finding
- Execution of an Unpinned Third-Party Package Through npx## Vulnerability Details **File Location**: `SKILL.md`, line 37; `README.md`, line 31 **Vulnerability Type**: Unpinned executable dependency **Risk Level**: Medium ### Vulnerable Code `SKILL.md`, line 37: ```bash npx clawhub@latest install react-composition ``` `README.md`, line 31: ```bash npx clawhub@latest install react-composition ``` ### Technical Analysis The installation instructions use `npx` to download and execute the mutable `latest` release of the third-party `clawhub` package. This is not merely a dependency download: `npx` runs package-supplied executable code under the privileges of the user invoking the command. The project does not provide an exact package version, integrity hash, lockfile, vendored installer, or verification procedure. Consequently, the code executed by this documented command can change after the skill has been reviewed. A compromised package publisher account, npm registry release, transitive dependency, or package distribution channel could turn the installation command into an arbitrary-code execution path. ### Attack Path 1. An attacker compromises the `clawhub` package publisher, its release process, or a dependency used by a future release. 2. The attacker publishes a malicious release and assigns or causes it to receive the `latest` distribution tag. 3. A user follows the installation instructions and executes `npx clawhub@latest install react-composition`. 4. `npx` retrieves the current mutable release and executes its CLI and any applicable package lifecycle behavior. 5. The malicious package executes with the permissions and environmental access of the invoking user. ### Impact Assessment Successful exploitation could execute arbitrary commands with the invoking user's privileges. Depending on the environment, this could allow access to project source code, writable user files, environment variables, developer credentials, SSH configuration, package registry tokens, or other resources available to that us ...[truncated 279 chars]
- Remediation
- ## Remediation Suggestions 1. Replace `@latest` with an exact, reviewed version, for example `clawhub@X.Y.Z`. 2. Publish and document the expected npm registry, package identity, version, and integrity checksum. 3. Verify the package provenance and signature before execution where supported. 4. Use a lockfile or reviewed local installer so installation does not resolve mutable code at runtime. 5. Avoid running the installer with administrative privileges. 6. In CI environments, execute installation in a sandbox with minimal filesystem access, restricted credentials, and limited network permissions. 7. Establish a process for reviewing each package version before updating the documented pin.
