T08 · Insecure Dependencies
- Location
SKILL.md:42- Finding
Unpinned npx Package Execution Creates a Mutable Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 42
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumVulnerable Code
sh npx skills add powmcp/skills --skill gate-published-release-before-announcementTechnical Analysis
The documented installation command invokes the third-party
skillspackage throughnpxwithout specifying an exact package version or integrity value. If the package is absent locally,npxmay retrieve its currently published release and execute its command-line entry point.Because the dependency is mutable, the code executed when a user follows this instruction can differ from the code that was available when this Skill was audited. The
powmcp/skillsrepository reference is also not tied to an immutable commit, further reducing reproducibility.This exceeds the minimum behavior necessary to install static Skill content because installation depends on executing remotely maintained code whose future contents are not constrained by the audited project.
Attack Path
- An attacker compromises the npm account, publishing process, or upstream source associated with the unpinned
skillspackage. - The attacker publishes a modified version containing a malicious command-line payload.
- A user follows the installation command from
SKILL.md. npxresolves and downloads the attacker-controlled current package version.- The package entry point executes under the invoking user's account.
- The payload can access resources available to that user, subject to operating-system permissions and environmental restrictions.
Compromise of the mutable repository reference could also cause unexpected Skill content to be installed, depending on how the external installer retrieves and processes that repository.
Impact Assessment
Successful exploitation of the
npxexecution path could run arbitrary code with the privileges of ...[truncated 463 chars]- An attacker compromises the npm account, publishing process, or upstream source associated with the unpinned
- Remediation
View remediation
Remediation Suggestions
- Pin the installer to an explicitly reviewed package version, for example by using an exact version rather than the latest available release.
- Pin the referenced repository to an immutable commit identifier instead of a mutable owner/repository reference, if the installer supports commit-qualified sources.
- Verify package integrity through a lockfile, cryptographic digest, signed release, or equivalent trusted-publishing mechanism.
- Prefer an installation method that copies reviewed static Skill files without executing a remotely downloaded package.
- Document the expected package version, repository commit, file inventory, and verification procedure so users can reproduce the reviewed installation.
- Run any unavoidable installer in a least-privileged, isolated environment without unrelated credentials or sensitive environment variables.
