OWASP Security Checker
More than a checklist — paste source code or a block of HTTP response headers and the scanner flags the insecure patterns people actually ship: XSS sinks, eval, hardcoded secrets, SQL string-building, weak randomness, disabled TLS verification, permissive CORS, and missing security headers. Each finding maps to an OWASP Top 10 (2021) category with the exact line, a fix, and a reference. Or run the interactive OWASP Top 10 readiness checklist for a weighted score you can export.
About this ToolHow it works, benefits & use casesTap to collapse
Most "OWASP checker" tools are just a static checklist you tick by hand. This one does that too — an interactive OWASP Top 10 (2021) readiness checklist with a weighted score and a per-category breakdown — but its real differentiator is a static pattern scanner. Paste a file, a function, or a snippet and it flags the insecure code people actually ship: writing untrusted data to innerHTML / outerHTML / dangerouslySetInnerHTML, eval and new Function, hardcoded API keys and secrets (including AWS AKIA keys and Stripe sk_live keys), SQL queries built by string concatenation or template-literal interpolation, Math.random() used for tokens, disabled TLS certificate verification (rejectUnauthorized: false, verify=False, NODE_TLS_REJECT_UNAUTHORIZED=0), and wildcard CORS. Switch to header mode and paste a block of HTTP response headers to catch missing security headers (Content-Security-Policy, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy), version-leaking Server / X-Powered-By headers, and Set-Cookie directives missing Secure, HttpOnly, or SameSite. Every finding maps to a specific OWASP Top 10 (2021) category with the exact line, an excerpt, a concrete fix, and a reference link — and produces a weighted security score. Everything runs entirely in your browser; nothing is uploaded.
How to Use
- 1Choose a mode: Scan code, Scan headers, or the interactive Checklist.
- 2In a scan mode, paste your source code or raw HTTP response headers (or click "Load sample" to see it work).
- 3Read the findings list — each is severity-sorted with its OWASP category, line number, code excerpt, and a remediation tip.
- 4Check the security score and severity breakdown to gauge overall risk, then copy or share the report.
- 5In Checklist mode, tick the controls you have in place to get a weighted readiness score, per-category breakdown, and a Markdown export.
Key Benefits
- Two tools in one: an interactive OWASP Top 10 checklist AND a static code/header scanner
- Detects real-world issues — XSS sinks, eval, hardcoded secrets, SQL string-building, weak randomness, disabled TLS, wildcard CORS
- Header mode flags missing CSP/HSTS/X-Frame-Options and insecure Set-Cookie flags
- Every finding maps to a specific OWASP Top 10 (2021) category with a line number and a fix
- Weighted 0–100 security score with a letter grade and severity counts
- Exports a copyable Markdown report and a shareable URL
- 100% client-side — your code and headers never leave the browser
Common Use Cases
- A quick pre-commit or pre-PR self-check of a file or function for obvious security mistakes
- Auditing a response from your API or site for missing security headers and leaky cookies
- Teaching juniors which patterns map to which OWASP Top 10 category and why they matter
- Tracking secure-coding readiness across a project with the weighted checklist
- Spotting hardcoded API keys or secrets before they get committed
Copyable summary of every finding
# OWASP Security Scan (source code) Security score: 100/100 (grade A) Findings: 0 — 0 critical, 0 high, 0 medium, 0 low No insecure patterns detected by static scanning. (Static scanning catches common patterns — it is not a substitute for a full audit.)
Source code
Scanning is static & runs entirely in your browser — paste freely.
The OWASP Top 10 (2021)
The OWASP Top 10 is the industry-standard awareness list of the most critical web application security risks, from A01 Broken Access Control through A10 Server-Side Request Forgery. The checklist mode turns it into a weighted readiness score you can track and export; the scan modes go further and read your actual code or response headers, mapping every issue back to the category it belongs to.
What the scanner catches
- Code: innerHTML/dangerouslySetInnerHTML,
eval/new Function, hardcoded secrets & API keys, SQL built by concatenation,Math.random()tokens, disabled TLS verification, and wildcard CORS. - Headers: missing CSP, HSTS, X-Frame-Options, X-Content-Type-Options & Referrer-Policy, version-leaking
Server/X-Powered-By, and cookies missing Secure/HttpOnly/SameSite.
Static scanning is fast and catches the common, high-signal patterns — but it can miss context-dependent flaws and produce false positives. Treat it as a first pass, not a replacement for a full security audit, code review, or dynamic testing.
Was this tool helpful?
Share Your Experience
Help others discover this tool!
Related tools
- Security Headers GeneratorGenerate hardened HTTP security headers with a live A+ to F grade, then export to nginx, Apache, Caddy, Vercel, Netlify, Next.js, Express, or Cloudflare; or audit a site's existing headers
- Content Security Policy GeneratorBuild a CSP directive by directive with per-source pickers, nonces, presets, a live audit, and export to header, meta tag, nginx, Apache, Vercel, Netlify, Next.js, or Express
- XSS DetectorScan input for XSS vectors by category and severity, encode it safely for any context (HTML, attribute, JS, URL, CSS), and browse a payload and sanitization reference
- SQL Injection TesterAnalyze a query for injection risk with a graded report and secure rewrite, plus a categorized reference of injection classes (UNION, blind, error-based, stacked) and their defenses
- CORS Header GeneratorGenerate CORS headers for API endpoints
- SQL Injection DetectorScan SQL or application code for injection-prone patterns (string concatenation, tautologies, UNION, stacked queries) and get parameterized-query fixes for Node, Python, PHP, and Java
The checklist mode is the familiar interactive OWASP Top 10 (2021) self-assessment with a weighted score. What sets this tool apart is the two scanner modes: paste real source code or HTTP response headers and it statically detects insecure patterns — XSS sinks, eval/new Function, hardcoded secrets, SQL string concatenation, weak randomness, disabled TLS verification, permissive CORS, and missing or leaky security headers — mapping each to an OWASP category with a line number and a fix.
It looks for high-signal, common mistakes: assignment to innerHTML/outerHTML and React dangerouslySetInnerHTML (DOM XSS), eval() and new Function() (A03 Injection), hardcoded credentials such as API keys, AWS AKIA access keys and Stripe sk_live/sk_test keys, SQL queries built by string concatenation or template-literal interpolation, Math.random() used for tokens or session ids (weak crypto), disabled TLS verification (rejectUnauthorized: false, verify=False, NODE_TLS_REJECT_UNAUTHORIZED=0), and wildcard CORS — flagged more severely when paired with credentials.

