T08 · Insecure Dependencies
- Location
SKILL.md:99- Finding
Unpinned Third-Party SDK Used in a Wallet-Enabled Payment Flow
- Content
View full analysis
- Remediation
View remediation
dotenv@ ``` 2. Commit a package lockfile and require reproducible installation with `npm ci`. 3. Validate lockfile integrity in CI and use a trusted registry with namespace and package-access controls. 4. Audit the pinned SDK and its transitive dependency tree before deployment. Repeat the review for every dependency update. 5. Enable automated dependency monitoring, but require security review and testing before merging updates. 6. Include wallet integration guidance in a version-controlled, reviewable document instead of relying exclusively on mutable external instructions. 7. Prefer an external or hardware signer that does not expose private keys to the Node.js process. 8. Apply least privilege to the runtime account and avoid making unrelated credentials or sensitive environment variables available to the SDK process. 9. Before every signature, independently display and validate the chain ID, token contract, recipient, amount, nonce, and calldata. Reject unexpected networks or contracts. 10. Implement explicit spending limits, destination allowlists, and user confirmation for payment transactions. 11. Document precisely what wallet information is accessed, transmitted, or retained, and support security claims with auditable implementation evidence. ]]>
