T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:19
- Finding
- Unpinned Third-Party Packages and Skills Installed Through npx## Vulnerability Details **File Location**: `SKILL.md`, lines 19–22 and 574–582 **Vulnerability Type**: T08: Insecure Dependencies **Risk Level**: Medium ### Vulnerable Code ```markdown ## Install ```bash npx skills add nexscope-ai/eCommerce-Skills --skill ecommerce-email-marketing-builder -g ``` ``` 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 -g ``` For full omnichannel marketing strategy (includes email as one channel): ```bash npx skills add nexscope-ai/eCommerce-Skills --skill ecommerce-marketing-strategy-builder -g ``` ``` ### 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
- ## Remediation Suggestions 1. Pin the `skills` package to an explicitly reviewed version instead of allowing `npx` to resolve the latest release. 2. Pin the referenced skill repository to an immutable commit hash or cryptographically signed release. 3. Publish and verify checksums or signatures for downloaded artifacts before installation. 4. Remove `-g` unless global installation is strictly required. Prefer a project-local or isolated installation. 5. Use `npx --ignore-existing` or the package manager's equivalent integrity controls as appropriate, while recognizing that this does not replace version pinning. 6. Document the exact expected source, package version, repository commit, and integrity value. 7. Recommend that users inspect fetched package contents and lifecycle scripts before execution. 8. Run installation in a restricted environment without administrative privileges or unnecessary access to credentials and sensitive files. 9. Add automated dependency monitoring and periodically re-audit pinned releases before updating them.
