T08 · Insecure Dependencies
Error
- Location
- README.md:36
- Finding
- Unpinned Package Execution Through npx<![CDATA[ ## Vulnerability Details **File Location**: `README.md`, line 36 **Vulnerability Type**: Unpinned third-party package execution **Risk Level**: High ### Vulnerable Code ```bash npx @claude/skills add felo-search ``` ### Technical Analysis The documented installation procedure uses `npx` to resolve and execute `@claude/skills` without specifying an exact audited version or validating package integrity. Depending on the local npm configuration and cache state, `npx` can download the package from the configured registry and immediately execute its entry point. Because the package reference is mutable, the effective code executed by this command can differ from the code that was reviewed. Compromise of the package publisher, registry account, package release process, or configured registry could therefore turn the documented installation command into an arbitrary-code-execution channel. No evidence in the audited files establishes that the referenced package is currently malicious. The vulnerability is the unsafe, unpinned supply-chain execution pattern. ### Attack Path 1. An attacker compromises the `@claude/skills` package, its publisher account, or a registry used by the victim. 2. The attacker publishes a malicious version or redirects dependency resolution to hostile package contents. 3. A user follows the project documentation and runs `npx @claude/skills add felo-search`. 4. `npx` retrieves and executes the attacker-controlled package. 5. The malicious package runs with the operating-system privileges and environment access of the invoking user. ### Impact Assessment Successful exploitation can provide arbitrary code execution under the installing user's account. The accessible scope can include project files, user-writable files, environment variables, developer credentials, and any services available to that account. This command does not itself request elevated privileges, so the direct privilege level is normally limited to that of the ...[truncated 22 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Pin the installer to a specific reviewed version, for example `npx @claude/skills@<audited-version> ...`. - Publish and verify package integrity information, signatures, or trusted provenance before execution. - Use a lockfile and an approved registry where the installation workflow supports them. - Avoid automatic execution of newly downloaded packages. Prefer downloading, inspecting, and then running a verified artifact. - Document the expected package publisher, version, checksum, and verification procedure. - In automated environments, configure npm to reject unexpected registries and prevent lifecycle scripts unless they are explicitly required and reviewed. ]]>
