T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:14
- Finding
- Unpinned Third-Party Skill Installation Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 14-18 **Vulnerability Type**: Unpinned and mutable third-party dependencies **Risk Level**: Medium ### Vulnerable Code ```markdown ## Install ```bash npx skills add pskoett/pskoett-ai-skills/plan-interview ``` ``` ### Technical Analysis The documented installation command invokes the `skills` npm package through `npx` without specifying a reviewed package version or integrity value. Depending on the local npm configuration and cache state, `npx` can download and execute the package version currently resolved from the configured registry. The command also identifies the installed Skill through a third-party repository path without pinning it to an immutable, reviewed commit. Consequently, both the installer and the Skill content may differ from the versions that existed when this audit was performed. This is a supply-chain weakness rather than evidence that the current dependency is malicious. Exploitation requires compromise or malicious replacement of a resolved package, repository, release, account, or dependency in the installation chain. ### Attack Path 1. An attacker compromises the npm package resolved as `skills`, one of its executable dependencies, the referenced repository, or an associated maintainer account. 2. The attacker publishes or introduces a malicious version while retaining the dependency names used by the documented command. 3. A user follows the installation instructions and runs `npx skills add pskoett/pskoett-ai-skills/plan-interview`. 4. `npx` resolves and executes the mutable installer package with the user's operating-system privileges. 5. The installer retrieves the mutable third-party Skill content. 6. Malicious installer code could act during installation, while malicious Skill instructions could affect later agent sessions in which the installed Skill is loaded. ### Impact Assessment The npm CLI process runs with t ...[truncated 716 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the `skills` npm package to a specifically reviewed version rather than allowing `npx` to resolve the current release. 2. Pin the referenced Skill repository to an immutable reviewed commit, tag backed by a verified commit, or cryptographically verified release artifact. 3. Where supported, verify package integrity with lockfiles, checksums, signed provenance, or registry integrity metadata. 4. Review the package manifest, lifecycle scripts, transitive dependencies, and fetched Skill files before executing the installer. 5. Use `npx` options that prevent an unexpected package from being silently installed, where compatible with the intended workflow. 6. Run installation with a least-privileged account in an isolated environment, without unrelated credentials or sensitive environment variables. 7. Document the expected package version, repository commit, checksums, and trusted source so users can verify that they are installing the audited content. 8. Re-audit the installer and Skill content before updating any pinned version or commit.
