T08 · Insecure Dependencies
Warning
- Location
- README.md:25
- Finding
- Unpinned Third-Party Installer and Mutable Remote Source## Vulnerability Details **File Location**: `README.md`, line 25 **Vulnerability Type**: Supply-chain risk from an unpinned installer and mutable remote source **Risk Level**: Medium ### Vulnerable Code ```bash npx add https://github.com/wpank/ai/tree/main/skills/design-systems/distinctive-design-systems ``` ### Technical Analysis The documented installation command invokes `npx add` without specifying an audited package version or integrity value. If the `add` package is not already available locally, `npx` may download and execute it from the configured npm registry under the installing user's account. The command also obtains Skill content from the mutable GitHub `main` branch rather than an immutable commit or verified release artifact. The installer implementation and installed Skill content can therefore change after this audit without any modification to the audited repository. No malicious payload was present in the two audited files. The vulnerability is the installation process's reliance on unpinned third-party components and mutable upstream content. ### Attack Path 1. An attacker compromises the npm package or account supplying the unpinned `add` executable, the referenced GitHub repository, or an authorized upstream maintainer account. 2. The attacker publishes a malicious installer version or modifies content on the referenced `main` branch. 3. A user follows the installation command in `README.md`. 4. `npx` resolves and potentially executes the attacker-controlled installer, which then retrieves mutable remote content. 5. The malicious installer can run commands with the invoking user's privileges, or the substituted Skill can introduce malicious instructions that affect later agent sessions. ### Impact Assessment Successful exploitation could allow arbitrary command execution with the privileges of the user running the installation command. Accessible scope may include that user's project files, home-directory data, environment variab ...[truncated 354 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the installer to a specifically reviewed version instead of invoking an unversioned package: ```bash npx --yes add@<audited-version> <source> ``` 2. Replace the mutable `main` reference with an immutable, reviewed Git commit or versioned release artifact. 3. Publish and verify a cryptographic checksum or signature for the downloaded artifact before installation. 4. Use npm lockfiles and integrity metadata where applicable, and review the installer package's provenance and lifecycle scripts. 5. Prefer a manual installation procedure from a verified release archive when installer execution is unnecessary. 6. Run installation with least privilege in an isolated environment; do not use an administrator or root account. 7. Add automated monitoring or reproducible verification to detect changes in upstream installer behavior and Skill content.
