T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:90
- Finding
- Unpinned Package and Repository Execution Through npx<). Verify the source before running. ``` ### Technical Analysis The documented installation command invokes `npx` without pinning the `skills` package to a reviewed version. Depending on the local npm configuration and cache, `npx` can retrieve and execute the latest available version of that package. The GitHub skill source is also specified without a commit hash or immutable release identifier. Consequently, the package executing the installation and the repository content being installed can both change after this Skill has been reviewed. The instruction to verify the source is advisory and does not provide an enforceable integrity check. This behavior is not required at runtime for the declared account-streaming functionality. Installation is a separate operation and should use immutable, verified artifacts. ### Attack Path 1. An attacker compromises the npm package, its maintainer account, the referenced GitHub repository, or another relevant supply-chain component. 2. The attacker publishes a malicious package version or modifies the repository content. 3. A user follows the documented unpinned `npx skills add Lightprotocol/skills` command. 4. `npx` retrieves and executes the mutable installer package. 5. The installer downloads or installs the attacker-controlled repository content. 6. Malicious code executes with the permissions of the user running the command. ### Impact Assessment Successful exploitation could execute arbitrary code under the installing user's account. The resulting access could include reading or modifying files available to that user, accessing environment variabl ...[truncated 332 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the `skills` npm package to a reviewed, exact version rather than relying on the latest version: ```bash npx --yes skills@EXACT_VERSION add Lightprotocol/skills ``` 2. Pin the GitHub dependency to an immutable commit hash or cryptographically signed release. 3. Publish and verify SHA-256 checksums or signatures for installed artifacts. 4. Use a lockfile and a trusted package registry with integrity metadata. 5. Prefer installing the tool explicitly and reviewing it before execution rather than allowing `npx` to download and execute it implicitly. 6. Run installation in a restricted environment without wallet keys, API credentials, or unnecessary filesystem permissions. ]]>
