T08 · Insecure Dependencies
- Location
SKILL.md:38- Finding
Unpinned Executable Third-Party Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 38–39
Vulnerability Type: Unpinned executable npm dependency
Risk Level: MediumVulnerable Code
bash # 1. Install (see runcomfy-cli skill for details) npm i -g @runcomfy/cli # or: npx -y @runcomfy/cli --versionTechnical Analysis
The documented installation commands do not pin
@runcomfy/clito an exact, audited version. Bothnpm i -g @runcomfy/cliandnpx -y @runcomfy/cli --versionresolve package content from the npm registry at execution time. Thenpxcommand also executes the resolved package automatically, while the global installation places executable third-party code outside the project directory.The project contains only
SKILL.md; it provides no lockfile, vendored source, integrity hash, or other mechanism through which the installed CLI implementation can be verified as part of this audit. Consequently, the claims in the document concerning token storage, outbound endpoint restrictions, absence of telemetry, shell safety, and download limits cannot be independently validated from the audited artifact.This creates a supply-chain exposure: a compromised maintainer account, malicious or unexpectedly changed release, registry compromise, or dependency-level compromise could cause arbitrary package or lifecycle code to run under the invoking user's account.
Attack Path
- An attacker compromises the
@runcomfy/clipackage, one of its dependencies, its publishing account, or the package-distribution channel. - The attacker publishes a malicious release that is selected by the unversioned package specification.
- A user or agent follows
SKILL.mdand runs either the global npm installation or automaticnpxexecution command. - npm retrieves the malicious package version and may run its lifecycle scripts; invoking the CLI executes its runtime code.
- The malicious code operates with the permissions and en ...[truncated 1223 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin the CLI to an exact reviewed version, for example:
bash npm install --save-exact @runcomfy/cli@X.Y.Z - Prefer a project-local installation over a global installation, and invoke the locked binary from the local dependency tree.
- Commit an npm lockfile with integrity metadata and require immutable or lockfile-enforced installation in automated environments.
- Verify package provenance, publisher identity, signatures or attestations where available, and registry integrity before installation.
- Avoid automatic execution of dynamically resolved packages through unpinned
npx -y. - Disable npm lifecycle scripts where operationally possible, or separately audit all required lifecycle scripts before allowing them.
- Execute the CLI with least privilege in a sandbox or container that exposes only the required input/output paths and approved network destinations.
- Provide credentials only for the duration of the operation, use a narrowly scoped token, and prevent unrelated processes or dependencies from accessing it.
- Audit and document the pinned CLI implementation so that its token handling, endpoint allowlist, telemetry behavior, shell-safety guarantees, and download limits can be independently verified.
- Pin the CLI to an exact reviewed version, for example:
