Code Vulnerabilities Guide
The most common security, SEO, and code hygiene issues we find in Next.js and React applications. Click any issue to learn how to fix it.
Security Vulnerabilities
Exposed API Keys or Secrets
criticalDetects hardcoded API keys, tokens, and secrets in your codebase that could be exploited by attackers.
Debug Routes in Production
highFinds test, debug, and mock API routes that should not exist in production.
Dangerous HTML Injection (XSS)
highDetects usage of dangerouslySetInnerHTML which can lead to Cross-Site Scripting attacks.
Environment File Not Gitignored
criticalChecks if .env files are properly excluded from git to prevent credential exposure.
Missing Input Validation
mediumFinds form inputs without proper validation attributes that could be exploited.
Unsafe External Links
mediumDetects links with target="_blank" that are missing rel="noopener noreferrer".
SEO Issues
Missing Page Metadata
highChecks for proper metadata exports in Next.js pages and layouts.
Missing OpenGraph Tags
mediumChecks for OpenGraph configuration for social media previews.
Images Missing Alt Text
mediumFinds images without alt attributes, which hurts accessibility and SEO.
Poor Semantic HTML Structure
lowDetects excessive div usage and missing semantic HTML elements.
Missing robots.txt or sitemap.xml
mediumChecks for essential SEO files that help search engines crawl your site.
Default or Missing Favicon
lowDetects if the site is using the default Next.js/Vercel favicon.
Code Hygiene
Console Logs in Production
lowFinds console.log statements that should be removed before production.
Unused Imports
lowDetects imports that are defined but never used in the file.
Unresolved TODO Comments
lowFinds TODO, FIXME, and HACK comments that indicate incomplete work.
Hardcoded Color Values
lowFinds hex color codes used directly instead of design tokens or Tailwind classes.
TypeScript "any" Usage
mediumDetects usage of the "any" type which disables TypeScript safety.
Empty or Null Components
lowFinds React components that return null or empty fragments.