T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned Third-Party CLI Performs a Global Skill Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:13-15
Vulnerability Type: Supply-chain exposure through mutable, unpinned dependencies
Risk Level: MediumComplete Code Snippet:
bash npx skills add nexscope-ai/Amazon-Skills --skill amazon-ppc -gTechnical Analysis
The documented installation command invokes an unpinned package through
npxand installs skill content globally from a mutable GitHub repository reference. Neither the CLI version nor the repository commit is fixed to an immutable, reviewed version.npxmay download and execute package code during installation. If the package distribution account, dependency chain, or referenced repository is compromised, the effective code executed by this command can differ from the version reviewed in this audit. The global installation option also expands the scope of the resulting changes beyond the current project.This is not a direct
curl | bashinstruction, and the audited project does not itself contain a confirmed malicious installation payload. The risk arises from executing mutable third-party installer code and globally installing mutable remote content.Attack Path
- An attacker compromises the npm package used by
npx, one of its dependencies, the source repository, or a maintainer account. - The attacker publishes malicious installer code or modifies the skill content at the mutable repository reference.
- A user follows the installation command in
SKILL.md. npxretrieves and executes the current package version with the user's privileges.- The installer retrieves the mutable repository content and installs it globally.
- Malicious installation logic or skill instructions can modify user-accessible files, install persistent skill content, or execute other operations permitted to the invoking account.
Impact Assessment
Exploitation could provide code execution with the privileges of the user runnin ...[truncated 453 chars]
- An attacker compromises the npm package used by
- Remediation
View remediation
Remediation Suggestions
- Pin the
skillsCLI to an explicitly reviewed version instead of allowingnpxto resolve the latest release. - Pin the GitHub source to a verified immutable commit hash or signed release tag.
- Publish and verify cryptographic checksums or signatures for the installed skill package.
- Remove the global installation option by default and install into an isolated project or user-approved sandbox.
- Use a lockfile or equivalent dependency manifest for all transitive dependencies.
- Document the exact package provenance, expected files, and verification procedure.
- Run installation with a minimally privileged account and prevent installer access to unrelated credentials and sensitive directories.
- Consider distributing a reviewed local package rather than executing an installer that retrieves mutable content at installation time.
- Pin the
