T08 · Insecure Dependencies
Error
- Location
- SKILL.md:98
- Finding
- Unpinned Third-Party MCP Package Is Installed and Executed with an API Credential< - Create or copy your API key - Requires an active Local Falcon subscription **Step 3: Configure Claude Code** Add to your Claude Code MCP settings (usually `~/.config/claude/mcp.json` or similar): ```json { "mcpServers": { "local-falcon": { "command": "npx", "args": ["@local-falcon/mcp"], "env": { "LOCAL_FALCON_API_KEY": "your-api-key-here" } } } } ``` ``` Equivalent unpinned installation or execution guidance also appears in `README.md:84`, `SKILL.md:576`, and `references/mcp-workflows.md:9-21`. ### Technical Analysis The instructions install `@local-falcon/mcp` without an exact version, lockfile, or integrity constraint. The MCP configuration then invokes the package through `npx` without `--no-install` or an explicit local executable path. Consequently, the code ultimately executed can change after this skill has been reviewed. npm packages may execute lifecycle scripts during installation, while an MCP server runs as a local process with the invoking user's operating-system permissions. The configured process also receives `LOCAL_FALCON_API_KEY` in its environment. The MCP implementation is not included in this repository, so its behavior cannot be validated by this audit. Although MCP integration is relevant to live Local Falcon analysis, unrestricted installation and execution of the latest package version exceeds the minimum supply-chain trust necessary. A fixed, audited release would provide the same declared functionality with less risk. ### Attack Path 1. An attacker compromises the npm package, a mainta ...[truncated 1250 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the MCP dependency to a specific reviewed version, for example: ```bash npm install --save-exact @local-falcon/mcp@X.Y.Z ``` 2. Publish and use a lockfile containing npm integrity hashes. 3. Run only the already installed package: ```json { "command": "npx", "args": ["--no-install", "@local-falcon/mcp"] } ``` Prefer an explicit path to the local binary where the host supports it. 4. Verify package provenance, signatures, maintainers, and integrity before recommending a release. 5. Document the MCP server's required filesystem, network, account, and tool permissions. 6. Use a narrowly scoped API key where supported, and avoid reusing credentials across environments. 7. Store credentials through the host's secret-management facility rather than directly in a broadly readable configuration file. 8. Restrict permissions on the MCP configuration file and rotate the key after suspected package or host compromise. 9. Require explicit user confirmation before scans, campaigns, or other operations that consume credits or modify account state. 10. Keep every installation example in `SKILL.md`, `README.md`, and the reference documentation synchronized to the same pinned version. ]]>
