T08 · Insecure Dependencies
Warning
- Location
- README.md:42
- Finding
- Unpinned npx Installer Creates a Supply-Chain Execution Risk## Vulnerability Details **File Location**: `README.md:42` and `README.md:138` **Vulnerability Type**: Unpinned executable third-party dependency **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add alexander10011/web3-daily ``` The same installation command appears in both the quick-start and installation sections. ### Technical Analysis The documented installation process invokes the `skills` npm package through `npx` without specifying an exact package version or verifying package integrity. If the package is not already installed locally, `npx` may retrieve its current release from the configured npm registry and execute its CLI code. Consequently, the code executed during installation is not limited to the repository reviewed in this audit. It can change independently after the skill has been audited. Compromise of the npm package, its publisher account, a transitive dependency, or the configured package registry could cause arbitrary code to run when a user follows the recommended installation instructions. The manually documented `git clone` alternatives do not present this particular `npx` execution path, although they also do not pin a commit. ### Attack Path 1. An attacker compromises the `skills` npm package, one of its executable dependencies, its publisher account, or the package source used by the victim. 2. The attacker publishes or serves a malicious version that retains plausible installation behavior. 3. A user follows the README and executes `npx skills add alexander10011/web3-daily`. 4. `npx` resolves and downloads the mutable package version. 5. The malicious CLI or package lifecycle code executes under the privileges of the user running the command. 6. The code can access resources available to that user before optionally completing the expected skill installation to reduce suspicion. ### Impact Assessment Successful exploitation permits arbitrary local code execution with th ...[truncated 559 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the installer to a specifically reviewed version, for example by using an exact package version rather than the latest registry resolution. 2. Publish and document the expected npm package publisher, version, and cryptographic integrity digest. 3. Use a lockfile or equivalent integrity-verification mechanism wherever the installation workflow supports it. 4. Avoid package lifecycle scripts unless they are strictly necessary, and document any code that the installer executes. 5. Prefer a non-executing installation method that downloads and verifies the skill package before placing it in the destination directory. 6. If Git installation remains supported, pin releases to signed tags or immutable commit hashes and provide signature-verification instructions. 7. Apply the remediation consistently to both occurrences at `README.md:42` and `README.md:138`.
