T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:10
- Finding
- Unpinned Third-Party CLI Creates a Supply-Chain Risk<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 10-14 **Vulnerability Type**: Unpinned third-party dependency **Risk Level**: Medium ### Vulnerable Code ```yaml install: - id: node kind: node package: "@anygen/cli" bins: ["anygen"] ``` ### Technical Analysis The skill requires installation and execution of the third-party npm package `@anygen/cli`, but it does not pin an exact package version or provide an integrity hash. Consequently, the code installed at deployment time may differ from the code available when the skill was reviewed. npm packages may also execute lifecycle scripts during installation. If the upstream package, maintainer account, or package distribution channel is compromised, malicious code could execute with the privileges of the user or agent installing the skill. The repository contains no copy of the dependency implementation, lockfile, checksum, or other mechanism that would permit verification of the installed artifact. ### Attack Path 1. An attacker compromises the package, its maintainer account, or its distribution process. 2. A malicious version of `@anygen/cli` is published under the expected package name. 3. The skill installation process resolves the mutable package reference to the compromised release. 4. Package installation scripts or the resulting `anygen` executable run locally. 5. The malicious dependency accesses resources available to the invoking process, potentially including project files, authentication environment variables, and network services. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the agent or user performing the installation. Accessible resources may include files within the user's permission boundary, environment variables such as `ANYGEN_API_KEY`, and network credentials or services available in that execution environment. No evidence establishes that the current package is malicious; the issue is the abse ...[truncated 52 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Pin `@anygen/cli` to an exact, reviewed version rather than using an unversioned package reference. - Record and verify the package integrity hash through a lockfile or equivalent trusted manifest. - Document the expected official package registry and source repository. - Review package contents and installation lifecycle scripts before deployment. - Disable npm lifecycle scripts where operationally feasible. - Run the CLI in a sandbox with only the filesystem, environment, and network access required for story generation. - Establish a controlled update process that requires review before changing the pinned version. ]]>
