T08 · Insecure Dependencies
Warning
- Location
- README.md:94
- Finding
- Unpinned Third-Party Installer and Mutable Skill Source## Vulnerability Details **File Location**: `README.md:94` **Vulnerability Type**: Unpinned third-party dependency execution **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add JoseArroyave/agent-skills --skill gemini-tavily-search ``` ### Technical Analysis The documented installation command invokes the third-party `skills` package through `npx` without specifying a reviewed package version or integrity hash. Depending on the local environment, `npx` can retrieve and execute the currently published package from the configured npm registry. The referenced `JoseArroyave/agent-skills` source is also not pinned to an immutable commit or verified release artifact. Consequently, both the installer and the installed source can change after this project has been audited. This creates a time-of-review versus time-of-installation discrepancy and exposes users to upstream account compromise, malicious package releases, registry compromise, or unauthorized repository changes. No evidence was found that the currently reviewed scripts contain a malicious payload. The issue is the installation process's reliance on mutable, externally controlled components. ### Attack Path 1. An attacker compromises the npm package, its maintainer account, the configured package registry, or the referenced upstream repository. 2. The attacker publishes a modified installer release or replaces the repository content selected by the unpinned reference. 3. A user follows the documented installation command. 4. `npx` downloads and executes the mutable installer package, which then retrieves or installs the mutable Skill content. 5. Attacker-controlled installer code executes with the privileges of the user running the command, or malicious files are placed into the user's Agent Skill environment. 6. The malicious installation may access files and credentials available to that user or affect later Agent runs. ### Impact Assessment Su ...[truncated 492 chars]
- Remediation
- ## Remediation Suggestions - Pin the `skills` npm package to a specific reviewed version rather than allowing `npx` to resolve the latest available release. - Pin `JoseArroyave/agent-skills` to an immutable commit hash or a cryptographically signed release tag. - Publish and verify a checksum or signature for the expected Skill artifact before installation. - Use `npx --no-install` when the installer is expected to be installed and reviewed locally, preventing implicit network retrieval. - Prefer downloading a versioned release artifact, verifying its signature or checksum, inspecting its contents, and then installing it locally. - Document that installation should be performed as an unprivileged user in an isolated environment with only the minimum required filesystem and credential access. - Add automated dependency provenance and integrity verification to the release process.
