This project has implemented several layers of protection to manage and mitigate security vulnerabilities in dependencies:
When you install dependencies with npm install
, our post-install scripts automatically:
- Resolve dependency conflicts that could cause compatibility issues
- Fix known security vulnerabilities by upgrading affected packages to safe versions
- Configure npm to ignore low/moderate severity issues that only affect development dependencies
To check for security vulnerabilities:
# Regular audit (may show known dev dependency issues)
npm audit
# Production-only audit (ignores dev dependencies)
npm audit --production
# Audit only for critical issues
npm run audit:all
# Fix critical vulnerabilities (be careful with breaking changes)
npm run fix:vulnerabilities
Some development dependencies (like testing tools) may have vulnerabilities that don't affect production code. These are tracked and managed through:
- Package resolutions in
package.json
- Specific settings in
.npmrc
- CI-specific configuration in
.npmrc-ci
- Acknowledged exceptions in
.nsprc
The following development dependencies have vulnerabilities that don't affect production code:
-
lodash.set - Has a prototype pollution vulnerability (GHSA-p6mc-m468-83gw)
- Used by: lighthouse in @lhci/cli (development testing tool)
- Mitigation: Overridden in package.json, exceptions tracked in .nsprc
- Production impact: None (not included in production builds)
-
cookie - Accept cookie with out of bounds characters (GHSA-pxg6-pf52-xh8x)
- Used by: raven in lighthouse in @lhci/cli (development testing tool)
- Mitigation: Overridden in package.json, exceptions tracked in .nsprc
- Production impact: None (not included in production builds)
Our GitHub workflow automatically checks for security issues on:
- Every push to main branches
- Pull requests to protected branches
- Weekly scheduled scans
If you discover a security vulnerability in this project, please report it by:
- DO NOT create a public GitHub issue
- Send details to security@example.com
- Include steps to reproduce and potential impact
When working with this codebase:
- Keep all dependencies updated
- Run security audits before deploying
- Never expose sensitive credentials in code
- Follow the security patterns established in the codebase
We follow responsible disclosure practices and will:
- Acknowledge receipt within 48 hours
- Provide regular updates on progress
- Credit discoverers (if desired)
- Publish details after fixes are available