T08 · Insecure Dependencies
- Location
SKILL.md:16- Finding
Unpinned Third-Party Installer Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:16
Vulnerability Type: Unpinned third-party dependency and mutable external installation source
Risk Level: MediumVulnerable Code
bash npx skills add nexscope-ai/eCommerce-Skills --skill brand-protection-shopify -gTechnical Analysis
The documented installation command invokes the third-party
skillsnpm CLI throughnpxwithout specifying a reviewed package version or integrity hash. If the package is not already available locally,npxmay retrieve and execute the currently published version.The command also references
nexscope-ai/eCommerce-Skillswithout 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
- An attacker compromises the npm account/package used by
npx, the referenced repository, or its release process. - The attacker publishes a malicious package version or modifies the repository content referenced by the installation command.
- A user follows the installation instructions in
SKILL.md. npxretrieves and executes the mutable third-party CLI with the user's privileges.- The compromised installer can execute arbitrary commands or install altered Skill content globally.
- 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]
- An attacker compromises the npm account/package used by
- Remediation
View remediation
Remediation Suggestions
- Pin the npm CLI to an explicitly reviewed version, for example:
bash npx --yes skills@<reviewed-version> add ... - Pin the external repository to an immutable, reviewed commit hash or signed release rather than a mutable branch or repository head.
- Verify package integrity through lockfiles, checksums, provenance attestations, or cryptographic signatures.
- Avoid global installation by default. Prefer a project-local, isolated environment with least-privilege permissions.
- Publish the expected package owner, version, commit identifier, checksum, and verification procedure in the installation documentation.
- Review installer lifecycle scripts and transitive dependencies before recommending execution.
- Do not run the installation command as root or from an account containing unnecessary production credentials.
- Pin the npm CLI to an explicitly reviewed version, for example:
