T08 · Insecure Dependencies
- Location
AGENTS.md:13- Finding
Unpinned Third-Party Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
AGENTS.md, lines 13-14 and line 25
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
json "command": "npx", "args": ["-y", "@fload-ai/mcp"],bash npx skills add fload-ai/mcp --skill floadTechnical Analysis
The documented installation commands execute remotely resolved npm package content without pinning an exact package version or enforcing an integrity hash. Consequently, the code executed by users can differ from the version that was originally reviewed.
The
-yoption automatically accepts the package installation prompt, reducing the opportunity for users to inspect the resolved package and version before execution. The MCP server is also configured to receive theFLOAD_API_KEYenvironment variable. If the package or one of its transitive dependencies is compromised, attacker-controlled code could execute with the invoking user's operating-system privileges and read that credential from the process environment.The second installation command has the same supply-chain weakness because
npxresolves and executes an unpinned package used to install the skill.Attack Path
- An attacker compromises the
@fload-ai/mcppackage, a relevant transitive dependency, or the associated package-publishing account. - The attacker publishes a malicious release under the package name referenced by the documentation.
- A user follows the documented setup instructions without specifying an audited version.
npxresolves the current package release and executes its installation or startup code.- The malicious package executes with the permissions of the user who launched
npx. - When run as the configured MCP server, the package can access
FLOAD_API_KEYfrom its environment and may exfiltrate it or use it to access data available to that credential.
This path depends on a package supply-chain ...[truncated 760 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
@fload-ai/mcpto a specific, reviewed version in every installation and runtime example rather than relying on the latest registry release. - Pin the package that provides the
skillscommand as well, and avoid ambiguous package resolution through an unversionednpxinvocation. - Install dependencies through a committed lockfile and use deterministic installation commands such as
npm ci. - Verify package integrity using trusted registry integrity metadata, published checksums, or signed release provenance.
- Remove automatic confirmation with
-yfrom security-sensitive setup instructions where practical, allowing users to review the resolved package and version. - Prefer installing and reviewing the package before supplying
FLOAD_API_KEY; do not expose production credentials during installation. - Use a narrowly scoped API key with only the permissions required by the MCP server. Store it in an appropriate secret manager, rotate it regularly, and revoke it immediately if package compromise is suspected.
- Run the MCP server in a restricted environment with limited filesystem access, network access, and operating-system privileges.
- Establish dependency monitoring and a controlled upgrade process so newer package versions are reviewed before deployment.
- Pin
