All 223 Security Rules

Every security rule in XploitScan's catalog, organized by OWASP Top 10 category. Each rule maps to a CWE, and many also carry SOC 2 and ISO 27001 control mappings.

About our rule set

These rules detect security patterns in code written with AI tools (Cursor, Bolt, Lovable, Replit) and modern web frameworks (Next.js, Supabase, Clerk, Stripe). They use a two-layer approach: a fast pattern-matching pre-filter plus a Babel-parsed AST layer with taint tracking for data-flow rules (SSRF, prototype pollution, mass assignment, SSTI, and more). The authentication checks work from the endpoint shape rather than the file name, so they cover Next.js App Router routes and server actions, Express and Hono routes, Supabase Edge Functions, Vercel serverless functions, and Netlify functions. Detection quality is scored publicly against a labeled fixture corpus on the benchmark page.

Free plan: 30 core rules (including hardcoded secrets, SQL injection, XSS, missing API authentication and Stripe webhook verification) — marked FREE below. Paid plans unlock the other 193 rules (PRO): command injection, XXE, SSTI, mass assignment, IDOR, GraphQL abuse, AI/LLM prompt-injection patterns, payment security, and 39 vendor-specific API-key detectors. From $19/mo →

Note: XploitScan is not a replacement for professional security auditing. Pattern-based scanning cannot catch every vulnerability, especially logic flaws and business-logic issues. For production applications handling sensitive data, we recommend combining automated scanning with penetration testing and manual code review.

A01:2021 — Broken Access Control

33 rules
RuleDescriptionCWE
VC003FREEAPI Route Missing AuthenticationCWE-862
VC004FREESupabase Client Without Row Level SecurityCWE-284
VC010FREEClient-Side Only AuthorizationCWE-602
VC013PROSupabase Anon Key Used for Admin OperationsCWE-269
VC016FREEUnvalidated RedirectCWE-601
VC021PROIPC/File Handler Without Path ValidationCWE-22
VC025PROUnsanitized Filename in File OperationsCWE-22
VC035PROOpen Redirect via URL ParametersCWE-601
VC042PROMass Assignment VulnerabilityCWE-915
VC057PROOverly Permissive IAM/Cloud PermissionsCWE-269
VC064PRONext.js Server Action Without Auth CheckCWE-862
VC065PROUnprotected Next.js API RouteCWE-862
VC067PROInsecure Deep Link HandlingCWE-601
VC074PROCSRF Protection DisabledCWE-352
VC085PROExposed Admin or Debug RouteCWE-862
VC090PROOpen Redirect via Host HeaderCWE-601
VC093PROFile Download Without Path ValidationCWE-22
VC108PROSecurity Group Allows All InboundCWE-284
VC109PRORDS Instance Publicly AccessibleCWE-284
VC117PROPath Traversal VulnerabilityCWE-22
VC127PRODangerous HTTP Methods Without AuthCWE-862
VC158PROPotential Insecure Direct Object Reference (IDOR)CWE-639
VC201PROAI/RAG: vector-store query without user/tenant filterCWE-639
VC202PROAI/RAG: vector-store upsert without user/tenant metadataCWE-639
VC206PROGraphQL: Apollo Server with csrfPrevention: falseCWE-352
VC210PROAuth middleware matcher excludes API routesCWE-862
VC213PROEntitlement or role read from browser storageCWE-602
VC215PROSupabase migration: RLS disabled, write policy open to all, or policy trusts user_metadataCWE-732
VC216PROFirebase Security Rules left openCWE-732
VC218PROBase44 function uses asServiceRole without checking the callerCWE-862
VC219PROAuthorization based on metadata the user can editCWE-269
VC220PROUnauthenticated AI/LLM Proxy Endpoint (Denial of Wallet)CWE-862
VC223PROPrefix-only path containment checkCWE-22

A02:2021 — Cryptographic Failures

22 rules

A03:2021 — Injection

18 rules

A04:2021 — Insecure Design

25 rules

A05:2021 — Security Misconfiguration

37 rules
RuleDescriptionCWE
VC002FREEEnvironment File May Be CommittedCWE-200
VC009FREECORS Allows All OriginsCWE-942
VC012PROFirebase Config with API Key in Client CodeCWE-200
VC014FREE.env File Not in .gitignoreCWE-538
VC017FREEInsecure Cookie SettingsCWE-614
VC019PROInsecure Electron BrowserWindow ConfigurationCWE-693
VC020FREEMissing Content Security Policy (CSP)CWE-1021
VC026PROElectron: External Navigation Not BlockedCWE-693
VC027PROMissing Security Meta Tags / HeadersCWE-693
VC032FREEMissing HTTPS EnforcementCWE-319
VC033FREEDebug/Development Mode ExposedCWE-215
VC040PROExposed .git Directory via Web ServerCWE-538
VC051PROGraphQL Introspection Enabled in ProductionCWE-200
VC053PROHardcoded IP or Host AllowlistCWE-547
VC055PROSource Maps Exposed in ProductionCWE-540
VC056PROClickjacking — Missing X-Frame-OptionsCWE-1021
VC058PRODocker Container Running as RootCWE-250
VC059PRODocker Compose Binding to All InterfacesCWE-284
VC070PROAndroid App Debuggable in ProductionCWE-489
VC071PRODjango DEBUG Mode EnabledCWE-215
VC077PROCORS Wildcard in Serverless ConfigCWE-942
VC078PROKubernetes Privileged ContainerCWE-250
VC087PROMissing HTTP Strict Transport Security (HSTS)CWE-311
VC089PROFile Download Missing Content-DispositionCWE-430
VC095PROHardcoded Localhost CORS OriginCWE-942
VC111PROLambda Without VPCCWE-653
VC113PRODocker COPY With Sensitive FilesCWE-200
VC114PRODocker Exposing Too Many PortsCWE-668
VC116PROKubernetes Pod Without Resource LimitsCWE-770
VC126PROTerraform State File CommittedCWE-200
VC128PROHTTP Request Smuggling RiskCWE-444
VC153PROReflected CORS Origin with CredentialsCWE-942
VC157PRODatabase Studio Exposed in ProductionCWE-1327
VC185PROGitHub Actions: permissions set to write-allCWE-732
VC188PRODockerfile: ADD used for local files instead of COPYCWE-1357
VC196PROPython: Django ALLOWED_HOSTS contains wildcardCWE-20
VC222PROPython CORS allows every origin with credentialsCWE-942

A06:2021 — Vulnerable Components

5 rules

A07:2021 — Identification & Auth Failures

63 rules
RuleDescriptionCWE
VC001FREEHardcoded API Key or SecretCWE-798
VC011FREESecret in Browser-Exposed Environment VariableCWE-798
VC018FREEExposed Clerk/Auth Secret KeyCWE-798
VC028PROUnvalidated API Request ParametersCWE-20
VC045PROWeak Password RequirementsCWE-521
VC046PROSession Fixation RiskCWE-384
VC047PROLogin Without Brute Force ProtectionCWE-307
VC049PRODatabase Credentials in Config FileCWE-798
VC054PROSensitive Data in localStorageCWE-922
VC066PROSecret Used in Client ComponentCWE-798
VC068PROSensitive Data in AsyncStorageCWE-922
VC072PROFlask Secret Key HardcodedCWE-798
VC076PROHardcoded Secrets in CI/CD ConfigCWE-798
VC088PROSensitive Data in URL ParametersCWE-598
VC119PROHardcoded OAuth Client SecretCWE-798
VC120PROOAuth Flow Missing State ParameterCWE-352
VC125PROInsecure Password Reset ImplementationCWE-640
VC130PROAuthentication Endpoint Without Rate LimitingCWE-307
VC132PROHardcoded Anthropic API KeyCWE-798
VC133PROHardcoded GitHub Personal Access TokenCWE-798
VC134PROHardcoded SendGrid API KeyCWE-798
VC135PROHardcoded Slack TokenCWE-798
VC136PROHardcoded GCP Service Account KeyCWE-798
VC137PROHardcoded Shopify Access TokenCWE-798
VC138PROHardcoded GitLab TokenCWE-798
VC139PROHardcoded Twilio API KeyCWE-798
VC140PROHardcoded Mailgun API KeyCWE-798
VC141PROHardcoded Datadog API KeyCWE-798
VC142PROHardcoded Vercel TokenCWE-798
VC143PROHardcoded Supabase Service Role KeyCWE-798
VC144PROHardcoded HashiCorp Vault TokenCWE-798
VC145PROHardcoded Pinecone API KeyCWE-798
VC146PROSecret Passed in URL Query ParameterCWE-598
VC149PROSecret in Client-Side Bundle ConfigurationCWE-798
VC150PROSecret in HTML Meta Tag or Data AttributeCWE-615
VC151PROSecret Passed as Command-Line ArgumentCWE-214
VC159PROHardcoded Cohere API KeyCWE-798
VC160PROHardcoded Replicate API TokenCWE-798
VC161PROHardcoded Mistral API KeyCWE-798
VC162PROHardcoded Together AI API KeyCWE-798
VC163PROHardcoded Groq API KeyCWE-798
VC164PROHardcoded Fireworks AI API KeyCWE-798
VC165PROHardcoded Postmark Server TokenCWE-798
VC166PROHardcoded Resend API KeyCWE-798
VC167PROHardcoded Loops API KeyCWE-798
VC168PROHardcoded Cloudflare API TokenCWE-798
VC169PROHardcoded Fastly API TokenCWE-798
VC170PROHardcoded Netlify Personal Access TokenCWE-798
VC171PROHardcoded Railway API TokenCWE-798
VC172PROHardcoded Fly.io Auth TokenCWE-798
VC173PROHardcoded Algolia Admin API KeyCWE-798
VC174PROHardcoded Qdrant API KeyCWE-798
VC175PROHardcoded Weaviate API KeyCWE-798
VC176PROHardcoded Linear API KeyCWE-798
VC177PROHardcoded Notion Integration TokenCWE-798
VC178PROHardcoded Discord Bot TokenCWE-798
VC179PROHardcoded Intercom Access TokenCWE-798
VC180PROHardcoded Sentry Auth TokenCWE-798
VC181PROHardcoded Better Stack (Logtail) Source TokenCWE-798
VC182PROHardcoded Highlight.io Project ID / API KeyCWE-798
VC183PROHardcoded Plivo Auth TokenCWE-798
VC217PROAI or Secret Key Shipped to the BrowserCWE-798
VC221PROServer trusts a session or token it never verifiedCWE-347

A08:2021 — Software & Data Integrity

11 rules

A09:2021 — Security Logging Failures

8 rules

A10:2021 — Server-Side Request Forgery

1 rule

Run these rules against your own code

Free, no signup required: paste code or upload a file, or run npx xploitscan@latest scan . The free scan runs the 30 FREE rules. ZIP uploads need a free account.

Scan Your Code →