T08 · Insecure Dependencies
- Location
README.md:17- Finding
Unpinned Remote Package Execution with Global Installation Scope
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 17-24
Vulnerability Type: Unpinned dependency execution and mutable remote installation source
Risk Level: Mediumbash npx skills add anivar/redux-saga-skill -gOr with full URL:
bash npx skills add https://github.com/anivar/redux-saga-skillTechnical Analysis
The documented installation commands rely on mutable remote dependencies. The first command invokes
npxwithout pinning theskillsCLI to an audited version. Depending on the local environment and package availability,npxmay download and execute the current package release. The-goption requests global installation scope, which is broader than required to consume the Skill locally.The alternative command installs directly from a GitHub repository URL without specifying an immutable commit SHA. Consequently, the content installed later may differ from the content reviewed during this audit.
The repository itself contains documentation rather than an automatically executed malicious payload. Exploitation therefore requires a user or agent to follow one of these installation instructions after the relevant package or upstream source has been compromised or changed.
Attack Path
- An attacker compromises the unpinned
skillspackage, its publication account, its dependency chain, or the referenced GitHub repository. - The attacker publishes or commits a malicious revision while retaining the expected package or repository identity.
- A user follows the README and executes one of the documented installation commands.
npxretrieves and executes mutable package code, or the installer retrieves mutable repository content.- The malicious code runs with the invoking user's privileges and may alter globally installed Skill state when
-gis used.
Impact Assessment
Successful exploitation could execute attacker-controlled code with the permission ...[truncated 567 chars]
- An attacker compromises the unpinned
- Remediation
View remediation
Remediation Suggestions
- Pin the CLI to a reviewed exact version, for example by using an explicitly versioned package reference rather than an unqualified
npx skillsinvocation. - Pin repository-based installation to an audited commit SHA instead of a mutable branch or repository URL.
- Remove
-gfrom the default command and recommend project-local or user-scoped installation. Document global installation only as an optional operation with a clear explanation of its scope. - Publish and verify integrity information, such as package-manager lockfile metadata, registry integrity hashes, signed releases, or commit-signature verification.
- Recommend reviewing the resolved package version and source before approving execution, particularly in automated agent environments.
- Avoid automatically confirming
npxinstallation prompts in CI or agent workflows, and restrict installation processes using sandboxing and least-privilege filesystem permissions.
- Pin the CLI to a reviewed exact version, for example by using an explicitly versioned package reference rather than an unqualified
