T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Unpinned Third-Party Executable Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 12-16
Vulnerability Type: Unpinned executable npm dependency
Risk Level: MediumVulnerable Code
yaml install: - id: node kind: node package: "@anygen/cli" bins: ["anygen"]Technical Analysis
The skill declares
@anygen/clias an executable dependency without specifying an exact version or package integrity value. Consequently, installation may resolve to whatever release is current in the configured npm registry rather than the release that was assessed during this audit.Because the installed component is a command-line executable, malicious or unexpectedly modified package code could run with the permissions of the user or agent installing and invoking the skill. Relevant exploitation scenarios include compromise of the publisher account, malicious replacement through an unsafe registry, or an unreviewed future release.
Attack Path
- An attacker compromises the package publisher, registry distribution channel, or a future package release.
- The attacker publishes a modified version of
@anygen/cli. - The skill installation process resolves the unpinned package to the malicious release.
- Package installation logic or a subsequent
anygeninvocation executes attacker-controlled code. - The code accesses data and credentials available to the agent process, potentially including
ANYGEN_API_KEYand presentation content.
Impact Assessment
Exploitation could provide code execution under the privileges of the account running the agent. The accessible scope may include environment variables, local files readable by that account, presentation inputs, generated outputs, and network resources available to the process. The finding does not establish that the current package is malicious; the risk arises from mutable, unverified dependency resolution.
- Remediation
View remediation
Remediation Suggestions
- Pin
@anygen/clito an audited exact version rather than relying on a mutable latest release. - Use a lockfile and verify the registry-provided integrity hash during installation.
- Restrict installation to an explicitly trusted npm registry.
- Disable package lifecycle scripts where operationally feasible.
- Run the CLI with least privilege and expose only the files and environment variables required for the task.
- Establish a controlled dependency-update process that requires security review before changing the pinned version.
- Pin
