T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:14
- Finding
- Unpinned npm Package Execution During Installation## Vulnerability Details **File Location**: `SKILL.md`, line 14 **Vulnerability Type**: Unpinned third-party executable dependency **Risk Level**: Medium ### Vulnerable Code ```yaml install: "npx clawhub install land-assessment" ``` ### Technical Analysis The installation command invokes `clawhub` through `npx` without specifying an exact, reviewed package version or integrity digest. Depending on the local npm configuration and cache state, `npx` can download and execute the package version currently resolved from the configured registry. Because the resolved package is mutable after this skill has been reviewed, the effective installation code is not fully represented by the audited project. A compromised package maintainer, registry account, package release, or configured registry could cause a future installation to execute attacker-controlled code. ### Attack Path 1. An attacker compromises the npm package, its publisher account, or the registry used to resolve `clawhub`. 2. The attacker publishes a malicious version that is selected by the unpinned command. 3. A user executes `npx clawhub install land-assessment` as instructed by the metadata. 4. `npx` retrieves and runs the malicious package or CLI entry point. 5. The payload executes with the operating-system privileges and environment available to the installing user. ### Impact Assessment Successful exploitation could provide arbitrary code execution under the installing user's account. The resulting scope could include access to that user's files, environment variables, credentials available to the process, and network resources. If the command is run with elevated privileges, the impact could extend to system-wide modification. Exploitation requires compromise or malicious control of the resolved package or registry path; no malicious package code is embedded in the audited project itself.
- Remediation
- ## Remediation Suggestions - Pin `clawhub` to an exact, reviewed version rather than allowing mutable resolution. - Where supported, validate the package using a trusted integrity digest and a committed lockfile. - Document the expected registry and reject unexpected registry overrides. - Review the pinned package, its transitive dependencies, CLI entry point, and lifecycle scripts. - Disable unnecessary npm lifecycle scripts during acquisition where compatible with the installation process. - Run installation without administrative privileges and in a restricted environment. - Establish a controlled update process that requires security review before changing the pinned version.
