T08 · Insecure Dependencies
- Location
SKILL.md:19- Finding
Unpinned Third-Party Packages and Skills Installed Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 19–22 and 574–582
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
markdown ## Install ```bash npx skills add nexscope-ai/eCommerce-Skills --skill ecommerce-email-marketing-builder -gtext Additional installation commands: ```markdown For paid advertising strategy across Google, Meta, and TikTok: ```bash npx skills add nexscope-ai/eCommerce-Skills --skill ecommerce-ppc-strategy-planner -gFor full omnichannel marketing strategy (includes email as one channel):
bash npx skills add nexscope-ai/eCommerce-Skills --skill ecommerce-marketing-strategy-builder -gtext ### Technical Analysis The documented commands invoke `npx` without pinning the `skills` runner to a reviewed version. The referenced repository and skills are also not pinned to an immutable release, tag, commit hash, checksum, or signature. Consequently, the resources retrieved when a user runs these commands may differ from the versions that existed when this project was audited. If the npm package, publishing account, repository, or dependency chain is compromised, an attacker could distribute altered installer logic or malicious skill instructions. The `-g` argument increases exposure by installing the retrieved skill globally rather than limiting it to an isolated project environment. The audited file does not itself contain a malicious payload, and exploitation depends on a future or existing compromise of an external supply-chain component. Nevertheless, the installation pattern does not provide sufficient integrity or reproducibility controls. ### Attack Path 1. An attacker compromises the npm package used by `npx`, its maintainer account, the referenced GitHub repository, or another component in the installation chain. 2. The attacker publishes a modified package or skill under the same mutable identifier. 3. A user follows the installation instructions in `SKILL ...[truncated 999 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the
skillspackage to an explicitly reviewed version instead of allowingnpxto resolve the latest release. - Pin the referenced skill repository to an immutable commit hash or cryptographically signed release.
- Publish and verify checksums or signatures for downloaded artifacts before installation.
- Remove
-gunless global installation is strictly required. Prefer a project-local or isolated installation. - Use
npx --ignore-existingor the package manager's equivalent integrity controls as appropriate, while recognizing that this does not replace version pinning. - Document the exact expected source, package version, repository commit, and integrity value.
- Recommend that users inspect fetched package contents and lifecycle scripts before execution.
- Run installation in a restricted environment without administrative privileges or unnecessary access to credentials and sensitive files.
- Add automated dependency monitoring and periodically re-audit pinned releases before updating them.
- Pin the
