T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:16
- Finding
- Unpinned Third-Party Installer Execution## Vulnerability Details **File Location**: `SKILL.md:16` **Vulnerability Type**: Unpinned third-party dependency and mutable external installation source **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add nexscope-ai/eCommerce-Skills --skill brand-protection-shopify -g ``` ### Technical Analysis The documented installation command invokes the third-party `skills` npm CLI through `npx` without specifying a reviewed package version or integrity hash. If the package is not already available locally, `npx` may retrieve and execute the currently published version. The command also references `nexscope-ai/eCommerce-Skills` without pinning it to an immutable commit or verified release. Consequently, both the installer and installed content may differ from what was reviewed during this audit. The global installation flag (`-g`) increases exposure by placing mutable content in a user-wide environment. This is a supply-chain weakness rather than evidence that the current bundled Python scripts are malicious. No malicious code, network requests, subprocess execution, persistence, credential access, or data exfiltration was identified in the audited Python files. ### Attack Path 1. An attacker compromises the npm account/package used by `npx`, the referenced repository, or its release process. 2. The attacker publishes a malicious package version or modifies the repository content referenced by the installation command. 3. A user follows the installation instructions in `SKILL.md`. 4. `npx` retrieves and executes the mutable third-party CLI with the user's privileges. 5. The compromised installer can execute arbitrary commands or install altered Skill content globally. 6. The malicious content may affect subsequent uses within the scope of the invoking user's account. ### Impact Assessment Successful exploitation could permit arbitrary code execution with the privileges of the user running the command. Potential consequences include access to that ...[truncated 436 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the npm CLI to an explicitly reviewed version, for example: ```bash npx --yes skills@<reviewed-version> add ... ``` 2. Pin the external repository to an immutable, reviewed commit hash or signed release rather than a mutable branch or repository head. 3. Verify package integrity through lockfiles, checksums, provenance attestations, or cryptographic signatures. 4. Avoid global installation by default. Prefer a project-local, isolated environment with least-privilege permissions. 5. Publish the expected package owner, version, commit identifier, checksum, and verification procedure in the installation documentation. 6. Review installer lifecycle scripts and transitive dependencies before recommending execution. 7. Do not run the installation command as root or from an account containing unnecessary production credentials.
