Dependencies introduce security risks. A compromised package affects all users.
Risks:
- Malicious code in packages
- Vulnerabilities in dependencies
- Typosquatting (malicious package with similar name)
Mitigations:
- Use lock files (package-lock.json)
- Audit dependencies: npm audit, Snyk
- Minimize dependencies
- Review before adding
- Use Subresource Integrity for CDN scripts
SRI example:
<script src="cdn.js" integrity="sha384-abc..."></script>