T08 · Insecure Dependencies
- Location
SKILL.md:108- Finding
Unpinned npm Package Executes with Access to a Lightning Spending Token
- Content
View full analysis
- Remediation
View remediation
"] ``` 2. Record and verify the package's cryptographic integrity through an npm lockfile or an equivalent trusted artifact-verification mechanism. 3. Install the package as a separate, explicit deployment step after reviewing its source, release provenance, dependencies, and lifecycle scripts. Avoid downloading executable code automatically when the MCP server starts. 4. Publish or reference reproducible source code and signed release artifacts so users can verify that the distributed package corresponds to the reviewed implementation. 5. Use a dedicated, revocable Lightning token with: - A low maximum balance. - Per-request and cumulative spending limits. - Restricted API scope. - Short expiration. - Monitoring and rapid revocation support. 6. Run the MCP server in a least-privilege sandbox or container. Restrict filesystem access, inherited environment variables, operating-system capabilities, and outbound network destinations to those strictly required. 7. Pass only the required token into the process. Do not allow the MCP server to inherit unrelated secrets from the parent agent environment. 8. Monitor package-version changes and payment activity, and require renewed security review before upgrading the pinned dependency. ]]>
