T08 · Insecure Dependencies
Warning
- Location
- README.md:19
- Finding
- Unpinned npm Package Execution in Installation Instructions## Vulnerability Details **File Location**: `README.md`, lines 19–23 **Vulnerability Type**: Unpinned third-party executable dependency **Risk Level**: Medium ### Vulnerable Code Snippet ```markdown With the Agent Skills CLI: ```sh npx skills add AntreasAntoniou/ml-research-skeptical-audit --skill ml-research-skeptical-audit ``` ``` ### Technical Analysis The documented installation command invokes the `skills` npm package through `npx` without specifying a package version or integrity value. If the package is not already available locally, `npx` may retrieve the currently resolved release from the configured npm registry and execute it with the installing user's privileges. Because the dependency is unpinned, the code executed at installation time can differ from the version originally reviewed or tested by the project. The repository does not provide a lockfile, checksum, verified package provenance, or other constraint for this external executable. A compromised publisher account, malicious future package release, registry compromise, or dependency-resolution manipulation could therefore turn the documented installation command into a code-execution path. This finding concerns the installation procedure rather than the Skill's runtime contents. The audited repository itself contains no executable source or bundled malicious script. ### Attack Path 1. An attacker compromises the npm package, its publisher account, its dependency chain, or the package-resolution source used for `skills`. 2. The attacker publishes or serves a malicious release that still resolves under the unversioned package name. 3. A user follows the installation instructions and runs the documented `npx skills add ...` command. 4. `npx` downloads and executes the attacker-controlled package code. 5. The malicious process operates with the permissions and environmental access of the user who launched the command. ### Impact Assessment Suc ...[truncated 576 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the CLI to a specific reviewed version, for example by using an explicit `skills@<version>` reference. 2. Document the expected npm registry, package publisher, and verified package identity. 3. Where supported, verify package integrity or provenance before execution, and retain a lockfile or equivalent immutable dependency record. 4. Review and update the pinned version through a controlled dependency-upgrade process rather than resolving the newest release automatically. 5. Provide manual installation instructions, such as cloning a verified commit or release tag, for users who do not want to execute a remotely resolved package. 6. Advise users not to run the installer with administrative privileges and to use an isolated environment where practical.
