What We Check
CodeFrog performs comprehensive, non-invasive security scanning using safe, read-only HTTP requests (HEAD/GET/OPTIONS). All checks are organized by category and designed to identify common security misconfigurations and vulnerabilities without modifying or disrupting your site.
Security Headers
HTTP response headers that instruct browsers how to handle your site's content. Missing or misconfigured headers leave your site vulnerable to common attacks.
- HSTS (Strict-Transport-Security): Presence on HTTPS responses to enforce secure connections
- X-Content-Type-Options: nosniff: Prevents MIME-sniffing and content type confusion attacks
- Referrer-Policy: Controls referrer information leakage to third-party sites
- X-Frame-Options / CSP frame-ancestors: Prevents clickjacking attacks
- Content-Security-Policy (CSP): Restricts resource loading sources; flags risky directives (unsafe-inline, unsafe-eval, wildcards)
- Permissions-Policy: Controls browser feature access (camera, microphone, geolocation, payment, etc.)
- Cross-Origin-Opener-Policy (COOP): Isolates browsing context from cross-origin windows
- Cross-Origin-Embedder-Policy (COEP): Requires cross-origin resources to opt in to embedding
- Cookie Security Flags: Secure, HttpOnly, and SameSite flags on cookies
CORS & Browser Security
Cross-Origin Resource Sharing (CORS) configuration that controls how your site interacts with other origins.
- Wildcard origin with credentials: Detects dangerous CORS configuration (ACAO=* with ACAC=true)
- Reflective Access-Control-Allow-Origin: Flags when ACAO reflects the request Origin (vulnerable to credential theft)
Transport & Methods
HTTP methods and transport security that could expose your site to unauthorized access or modification.
- Dangerous HTTP methods: Checks for enabled PUT, DELETE, PATCH methods
- TRACE/TRACK: Detects enabled TRACE and TRACK methods (information disclosure risks)
- WebDAV indicators: Identifies WebDAV via Allow/DAV headers
Information Disclosure
Files and paths that reveal sensitive information about your site's structure or configuration.
- robots.txt sensitive paths: Flags robots.txt entries that reveal sensitive paths (e.g., /admin/, /backup/, /private/)
- security.txt: Checks for presence and validity of /.well-known/security.txt (Contact/Expires/Policy)
Sensitive File Exposure
Common sensitive files and directories that should not be publicly accessible.
- Version Control: /.git/, /.git/HEAD, /.git/config (exposed Git repositories), /.svn/ (Subversion), /.hg/ (Mercurial), /.bzr/ (Bazaar)
- Environment Files: /.env, /.env.old, /.env.orig, /.env.backup (configuration files with secrets)
- Package Files: /composer.json, /package.json (dependency information)
- Server Configuration: /WEB-INF/web.xml (Java configuration), /phpinfo.php (PHP info), /server-status, /server-info, /nginx_status
Directory Listing
Directory indexing that exposes file structure and potentially sensitive files.
- Common directories: Checks for enabled directory listing on /backup/, /logs/, /uploads/, and other common paths
Content Integrity (SRI)
Subresource Integrity verification for external scripts and stylesheets.
- External scripts without SRI: Flags external <script> tags missing integrity attributes
- External stylesheets without SRI: Flags external <link> stylesheets missing integrity attributes
TLS / Certificate
SSL/TLS certificate validity and expiration checks.
- Certificate expiration: Warns if certificate expires within 30 days; errors if already expired
- Certificate validity: Verifies certificate is valid and properly configured
Stack Detection
Best-effort identification of server and backend technologies from response headers and cookies.
- Server detection: Identifies Nginx, Apache, IIS, Caddy from headers
- Backend detection: Identifies PHP, Node.js/Express, Python, Java, ASP.NET, Rails from headers/cookies
Best Practices
Industry best practices and security standards compliance.
- security.txt: Checks for presence and validity of security.txt at /.well-known/security.txt
- HTTPS enforcement: Verifies HTTPS is available and preferred
How CodeFrog Performs Checks
All security checks are performed using safe, read-only HTTP methods:
- HEAD requests: Primary method for checking headers and response codes without downloading content
- GET requests: Fallback when HEAD is not supported, or when content analysis is needed
- OPTIONS requests: Used for CORS and HTTP method discovery
CodeFrog respects rate limits, timeouts, and redirect policies. All checks are non-invasive and designed to identify security issues without attempting to exploit them.
Severity Levels
Findings are categorized by severity to help prioritize remediation:
- Critical: Immediate action required, potential for data breach or system compromise
- High: Significant security risk, should be addressed soon
- Medium: Moderate risk, should be planned for remediation
- Low: Minor risk, consider fixing in next update
- Info: Informational findings, not necessarily vulnerabilities
Related Resources
- Security Headers: Why They Matter - Detailed guide to security headers
- Security Testing Guide - Comprehensive security scanning documentation
- OWASP Coverage - How CodeFrog maps to OWASP Top 10
- Features - Overview of all CodeFrog capabilities