T08 · Insecure Dependencies
Error
- Location
- README.md:26
- Finding
- Unpinned Third-Party Installer Execution Through npx## Vulnerability Details **File Location**: `README.md`, lines 26-28 **Vulnerability Type**: Unpinned package execution and mutable remote source **Risk Level**: High ```bash npx add https://github.com/wpank/ai/tree/main/skills/testing/quality-gates ``` ### Technical Analysis The installation command asks `npx` to resolve and execute a package named `add` without specifying an exact version or ensuring that a trusted local copy is installed. Depending on the environment and npm configuration, `npx` can download the current package from the npm registry and execute its entry point. The skill source is also identified by a GitHub branch path rather than an immutable commit or cryptographically verified release artifact. Consequently, both the installer and the content it processes can change after this skill has been reviewed. This creates a software supply-chain boundary in which mutable third-party content receives local code-execution capability. Exploitation would require compromise or malicious control of the resolved npm package, its dependency chain, the referenced upstream source, or the relevant package-resolution infrastructure. ### Attack Path 1. An attacker compromises or publishes malicious content through the unpinned `add` package, one of its dependencies, or the mutable upstream repository source. 2. A developer follows the documented installation command. 3. `npx` resolves and downloads the current third-party package when no trusted local version is available. 4. The downloaded package executes with the developer's privileges and processes the mutable GitHub source. 5. Malicious installer or lifecycle code accesses available repository files, environment variables, developer credentials, or modifies local files. ### Impact Assessment Successful exploitation can provide arbitrary code execution with the privileges of the developer or CI account running the command. The accessible scope can include the c ...[truncated 264 chars]
- Remediation
- ## Remediation Suggestions - Replace the generic `npx add` flow with a documented and trusted installation mechanism. - Pin the installer to an exact reviewed version and commit the resulting lockfile where applicable. - Reference the skill through an immutable release tag or, preferably, a full commit digest. - Download release artifacts only from trusted locations and verify a published cryptographic checksum or signature before installation. - Use `npx --no-install` when execution must be restricted to an already installed and reviewed local dependency. - In CI, restrict package lifecycle scripts, network access, credentials, and filesystem permissions during installation. - Document the expected package name, version, source digest, and verification procedure so package substitution is detectable.
