T08 · Insecure Dependencies
Warning
- Location
- README.md:18
- Finding
- Unpinned npx Runner and Mutable Repository Installation## Vulnerability Details **File Location**: `README.md:18-24` **Vulnerability Type**: Unpinned third-party package execution and mutable supply-chain source **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add anivar/redux-saga-testing -g ``` ```bash npx skills add https://github.com/anivar/redux-saga-testing ``` ### Technical Analysis The installation instructions invoke `npx skills` without pinning the `skills` package to a reviewed version. If it is not already installed locally, `npx` can retrieve and execute the package resolved from the package registry. The effective installer code can therefore change after this skill has been audited. The second command also installs from a GitHub repository without specifying an immutable commit SHA or signed release tag. Changes to the repository's default branch could consequently alter the content installed by the command. This is a supply-chain risk rather than evidence that the currently documented package or repository is malicious. It is nevertheless unnecessary to rely on mutable versions when reproducible, reviewed versions can be specified. ### Attack Path 1. An attacker compromises the registry account or distribution channel for the unpinned `skills` package, or compromises the referenced GitHub repository. 2. The attacker publishes a modified package version or changes content on the repository's default branch. 3. A user follows one of the documented installation commands. 4. `npx` resolves and executes the mutable runner, or the runner retrieves mutable repository content. 5. The compromised component executes or installs attacker-controlled behavior with the permissions of the invoking user. ### Impact Assessment Successful exploitation could run code with the invoking user's privileges and modify skill installation content. The `-g` option expands the persistence and scope of the installed skill within the user's agent environment. Pot ...[truncated 388 chars]
- Remediation
- ## Remediation Suggestions - Pin the `skills` runner to an explicitly reviewed version, for example `npx skills@<reviewed-version> ...`. - Prefer package-manager modes that reject implicit installation or prompt the user before downloading executable packages. - Pin GitHub-based installation to an immutable commit SHA or a verified signed release rather than the default branch. - Publish checksums or signatures for reviewed skill releases and verify them before installation. - Avoid global installation unless global availability is required; document a project-local installation option with narrower scope. - Periodically review pinned versions and update them through a controlled dependency-review process.
