T08 · Insecure Dependencies
Warning
- Location
- README.md:15
- Finding
- Unpinned npm Package Execution in Installation Instructions## Vulnerability Details **File Location**: `README.md:15-18` **Vulnerability Type**: Unpinned third-party package execution **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add alexpolonsky/agent-skill-timemap ``` ### Technical Analysis The documented installation procedure invokes the `skills` npm package through `npx` without specifying a reviewed version, integrity hash, or lockfile. When the package is not already available locally, `npx` can retrieve and execute the version currently resolved by the npm registry. The effective installer can therefore change independently of the audited project. Compromise of the package, its publishing account, its transitive dependencies, or the registry resolution process could cause installation-time execution of code that was not included in this audit. This finding concerns the documented installation chain. No malicious npm package or malicious behavior in the audited project itself was established. ### Attack Path 1. An attacker compromises the npm package resolved as `skills`, its maintainer account, or a dependency used during execution. 2. The attacker publishes a malicious version or modifies the package's dependency chain. 3. A user follows the documented unpinned `npx skills add ...` command. 4. `npx` downloads the currently resolved package version. 5. The malicious package executes with the privileges of the user performing the installation. ### Impact Assessment Successful exploitation could provide arbitrary code execution under the installing user's account. The resulting scope could include reading and modifying files accessible to that user, stealing user-level credentials or tokens available to the process, modifying installed agent skills, and performing network operations. The command does not inherently grant administrator privileges. System-wide impact would require the user to run it under an elevated account or for the attacker to ex ...[truncated 50 chars]
- Remediation
- ## Remediation Suggestions - Pin the installer package to a specifically reviewed version instead of allowing registry resolution to select the latest release. - Use a lockfile and verify npm integrity metadata for the installer and its transitive dependencies. - Document the expected package publisher, registry, version, and checksum so users can validate the downloaded artifact. - Prefer installation from a signed release archive or immutable repository commit whose contents can be reviewed before execution. - Avoid advising users to run the installer with `sudo` or another elevated account. - Add dependency monitoring and periodically reassess the pinned installer version for known vulnerabilities.
