T08 · Insecure Dependencies
- Location
SKILL.md:16- Finding
Unpinned Third-Party CLI Installation and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:16-19,SKILL.md:39-42,SKILL.md:85-88,SKILL.md:145-148,README.md:14-17,README.md:57-60,README.md:64-70,examples.md:75-78, andexamples.md:85-88
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumThe skill instructs users or agents to install and execute
@fluxra-ai/fluxra-cliwithout pinning an exact package version, verifying package integrity, or providing a dependency lockfile. The repository contains no implementation of the referenced CLI, so the behavior of the downloaded package cannot be established from the audited files.Vulnerable Code
SKILL.md:16-19:bash npm install -g @fluxra-ai/fluxra-cliSKILL.md:39-42:bash npx @fluxra-ai/fluxra-cli schemaSKILL.md:85-88:bash npx @fluxra-ai/fluxra-cli mcp serveSKILL.md:145-148:bash fluxra help:all fluxra auth whoami fluxra chat send agt_xxx "hello" fluxra chat sync once npx @fluxra-ai/fluxra-cli schemaREADME.md:14-17:bash npm install -g @fluxra-ai/fluxra-cliREADME.md:57-60:bash npx @fluxra-ai/fluxra-cli mcp serveREADME.md:64-70:json { "mcpServers": { "fluxra": { "command": "npx", "args": ["@fluxra-ai/fluxra-cli", "mcp", "serve"] } } }examples.md:75-78:bash npx @fluxra-ai/fluxra-cli schemaexamples.md:85-88:bash npx @fluxra-ai/fluxra-cli mcp serveTechnical Analysis
An unversioned npm package reference resolves according to the package registry's current distribution tags rather than to a release reviewed with this skill. Consequently, the effective executable can change after the skill itself has been audited.
The
npxcommands can download and immediately execute the resolved package when it is not already available locally. The global installation command al ...[truncated 2443 chars]- Remediation
View remediation
Remediation Suggestions
-
Pin the dependency to an exact reviewed release in every installation and execution example, rather than relying on the registry's current default version.
-
Replace unversioned
npxusage with an explicitly versioned invocation, such as:bash npm exec --package=@fluxra-ai/fluxra-cli@EXACT_VERSION -- fluxra schemaUse the command syntax verified for the selected release.
-
Add a package manifest and committed lockfile with integrity metadata where practical. Use reproducible installation such as
npm ciinstead of an unpinned global installation. -
Verify npm package provenance, publisher identity, signatures or attestations, and registry integrity metadata before approving upgrades.
-
Establish an update process in which each new version is reviewed and tested before documentation changes permit its execution.
-
Avoid global installation where possible. Run the CLI under a dedicated, least-privileged account or isolated environment with restricted filesystem and network access.
-
Do not expose the MCP server to untrusted clients or networks. Bind it only to the required interface and constrain the permissions and credentials available to its process.
-
Document the expected package version and checksum so operators can detect unexpected dependency changes.
-
