T08 · Insecure Dependencies
- Location
README.md:144- Finding
Unpinned npx installation executes mutable third-party supply-chain content
- Content
View full analysis
Vulnerability Details
File Location:
README.md, line 144. The same unsafe installation pattern also appears at lines 236 and 273–274.
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable code at line 144:
bash npx skills add 0xenzyme/polanyi-skillAdditional occurrences:
bash npx skills add alchaincyf/nuwa-skillbash npx skills add alchaincyf/steve-jobs-skill npx skills add alchaincyf/elon-musk-skillTechnical Analysis
The documented installation procedure invokes
npxwithout pinning theskillsCLI to an exact, reviewed version. If the CLI is not already available locally,npxmay retrieve and execute its current package release. The repository arguments also identify mutable upstream repositories without an immutable commit hash or integrity checksum.This creates two supply-chain trust boundaries:
- The package registry controls which implementation of the unpinned
skillsCLI is executed. - The remote repository owner controls the content installed from the mutable repository reference.
A compromised package publisher, registry account, upstream repository, or future malicious release could therefore change the effective installation behavior after this audit. The reviewed repository contains no evidence that these dependencies are currently malicious; the issue is that the documented process executes or installs content whose identity and integrity are not fixed.
Attack Path
- An attacker compromises the publisher account, package release process, or referenced repository.
- The attacker publishes a malicious CLI version or modifies content at the mutable repository reference.
- A user follows the README and runs the documented
npx skills add ...command. npxresolves the package available at execution time and may download and run it.- The CLI retrieves the repository content available at that t ...[truncated 884 chars]
- The package registry controls which implementation of the unpinned
- Remediation
View remediation
Remediation Suggestions
- Pin the
skillsCLI to an exact reviewed version rather than allowingnpxto resolve the latest release:bash npx --yes skills@<reviewed-version> add ... - Pin every source repository to an immutable commit or signed release tag supported by the installer.
- Publish and verify cryptographic checksums or signatures for downloaded Skill artifacts.
- Use a lockfile or equivalent dependency manifest with integrity metadata where supported.
- Prefer an installation process that downloads and inspects declarative Skill content without executing package lifecycle scripts.
- Document the expected package publisher, repository owner, version, commit identifier, and verification procedure.
- Run installation with an unprivileged account in an isolated environment, and explicitly warn users not to invoke the command with
sudoor administrative privileges. - Remove unrelated third-party installation commands from the primary project documentation or clearly mark them as unaudited external projects.
- Pin the
