T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:13
- Finding
- Mutable Remote Skill Installation Without Integrity Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:13-16` **Vulnerability Type**: Unverified remote installation and supply-chain exposure **Risk Level**: Medium ### Vulnerable Code ```bash ## Install ```bash npx skills add https://github.com/lewislulu/html-ppt-skill ``` ``` ### Technical Analysis The documented installation procedure invokes `npx` and installs the Skill directly from a mutable GitHub repository URL. The command does not identify a fixed commit, immutable release artifact, checksum, or cryptographic signature. Consequently, the content installed by this command can differ from the content reviewed during this audit. A compromise of the repository, its default branch, the maintainer account, or an involved package could cause later users to install modified Skill instructions or executable scripts. The use of a remote repository is consistent with the installation purpose, and no malicious remote content was observed in the audited artifact. The weakness is the absence of controls ensuring that the installed content is identical to the reviewed version. ### Attack Path 1. An attacker compromises the upstream repository, its maintainer account, or a dependency used by the `npx` installer. 2. The attacker modifies the repository’s default branch or substitutes a malicious release. 3. A user follows the installation command in `SKILL.md`. 4. `npx` retrieves the current remote content rather than a previously audited immutable revision. 5. The modified Skill is installed and subsequently trusted or executed in the user’s environment. ### Impact Assessment A successful supply-chain compromise could modify Skill instructions, templates, JavaScript, or shell scripts. The resulting code would operate with the permissions of the user running the installation or invoking the installed Skill. The command does not itself elevate privileges, and no privilege-escalation mechanism was found. The practical scope is the files, credentia ...[truncated 102 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the installation URL to a reviewed commit hash or immutable signed release tag. 2. Publish release archives with SHA-256 checksums and require checksum verification before installation. 3. Sign releases using a verifiable mechanism such as Sigstore or signed Git tags. 4. Pin the version of the package providing the `skills` command rather than relying on an implicitly resolved `npx` package. 5. Document the expected commit and checksum in `SKILL.md`. 6. Re-audit the exact pinned artifact whenever the pinned version changes. For example, use an immutable revision rather than a default-branch URL: ```bash npx --yes <installer>@<pinned-version> add \ https://github.com/lewislulu/html-ppt-skill/tree/<reviewed-commit> ``` The actual syntax should be verified against the installer, and the resolved artifact should additionally be checked against a published digest. ]]>
