T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:13
- Finding
- Unpinned Third-Party CLI Installed Globally## Vulnerability Details **File Location**: `SKILL.md`, lines 13-17 **Vulnerability Type**: Supply-chain exposure through an unpinned globally installed npm package **Risk Level**: Medium **Vulnerable Code Snippet**: ```markdown ## Installation ```bash npm install -g @versatly/openai-image-cli ``` ``` ### Technical Analysis The installation instructions direct users to install `@versatly/openai-image-cli` globally without specifying an exact version or package integrity value. Consequently, npm resolves whichever package version is current when installation occurs rather than the version reviewed when this skill was published. The package implementation is not included in the audited project, so its source code, lifecycle scripts, credential handling, image processing, history storage, and network behavior cannot be verified from this artifact. npm lifecycle scripts may execute during installation with the permissions of the installing user. A global installation also exposes the installed executable broadly through the user's command search path. This is a supply-chain risk rather than evidence that the referenced package is currently malicious. Exploitation depends on compromise of the package, its publisher account, its dependencies, or the package distribution channel. ### Attack Path 1. An attacker compromises the referenced npm package, a transitive dependency, or the associated publisher account. 2. The attacker publishes a malicious version or introduces malicious lifecycle or runtime behavior. 3. A user follows the skill instructions and executes `npm install -g @versatly/openai-image-cli`. 4. npm resolves the compromised release because no exact version or integrity constraint is specified. 5. Malicious lifecycle code may execute during installation, or malicious runtime code may execute when the user invokes `openai-image`. 6. The compromised process may access data available to the installing user, i ...[truncated 805 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to a reviewed exact version, for example `@versatly/openai-image-cli@1.0.0`, rather than resolving the latest release. 2. Record and verify package integrity through a lockfile or equivalent cryptographic integrity mechanism. 3. Prefer a project-local installation over `npm install -g` to reduce command-path exposure and improve reproducibility. 4. Vendor or otherwise audit the CLI implementation and its complete transitive dependency tree before recommending execution. 5. Where compatible with the package, disable npm lifecycle scripts during installation and explicitly review any scripts before enabling them. 6. Run the CLI with least privilege in an isolated environment and grant access only to required input and output directories. 7. Store API credentials in a protected secret store or narrowly scoped environment, avoid plaintext configuration where possible, and use a restricted API key with usage limits and monitoring. 8. Establish dependency monitoring, signature or provenance verification, and a controlled update process so new releases are reviewed before adoption.
