T08 · Insecure Dependencies
- Location
README.md:15- Finding
Unpinned npm Package Execution in Installation Instructions
- Content
View full analysis
Vulnerability Details
File Location:
README.md:15-18
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumVulnerable Code
bash npx skills add alexpolonsky/agent-skill-timemapTechnical Analysis
The documented installation procedure invokes the
skillsnpm package throughnpxwithout specifying a reviewed version, integrity hash, or lockfile. When the package is not already available locally,npxcan 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
- An attacker compromises the npm package resolved as
skills, its maintainer account, or a dependency used during execution. - The attacker publishes a malicious version or modifies the package's dependency chain.
- A user follows the documented unpinned
npx skills add ...command. npxdownloads the currently resolved package version.- 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]
- An attacker compromises the npm package resolved as
- Remediation
View 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
sudoor another elevated account. - Add dependency monitoring and periodically reassess the pinned installer version for known vulnerabilities.
