audit scope.
Public, explicit list of what we review and what we don't. Incorporated by reference into our terms of service.
what we cover — 75 patterns across 12 categories
Scanner cubre 10/10 categorias del OWASP Top 10 2025 y 44 clases CWE distintas. La lista completa auto-generada con severity, confidence y referencias esta en /docs/scanner-coverage.
authentication & access control (17 patterns)
- Server Actions / route handlers sin verificacion de auth (AUTH-005)
- IDOR en actions con id del cliente sin ownership check (AUTH-007)
- CVE-2025-29927 Next.js middleware bypass detection (AUTH-008)
- Client-side auth via localStorage — patron del CVE-2025-48757 Lovable (AUTH-006)
- searchParams usado para decisiones de permisos (AUTH-009)
- Open redirects / OAuth callback sin allow-list (AUTH-010, AUTH-014)
- JWT sin expiration / jwt.verify sin algorithms (AUTH-011, AUTH-013)
- Timing attacks en comparacion de secrets (AUTH-012)
- Rate limit ausente en login / password reset (AUTH-001, AUTH-003)
- Session cookies sin httpOnly / secure / sameSite (SESSION-001/002/003)
supabase & rls (5 patterns)
- Tablas sin RLS activado (SUPA-RLS-001)
- Policies
using (true)universalmente permisivas (SUPA-RLS-003) - service_role key fuera de
server-only(SUPA-SERVICE-001) - Storage buckets sin policies explicitas (SUPA-STORAGE-001)
- Lovable-generated migrations sin
enable row level security(LOVABLE-001)
secrets & crypto (8 patterns)
- API keys hardcodeadas en bundle cliente (SEC-KEY-001..005)
.env/.env.localversionados en git- Math.random() usado para tokens / session IDs / OTP (CRYPTO-001)
- MD5 / SHA1 para password hashing (CRYPTO-002)
- Secrets con valor trivial por defecto ("your-secret-key") (CRYPTO-003)
- v0 Client Components con API keys inline (V0-001)
- Bolt.new-generated con keys en bundle (BOLT-001)
input validation & xss & injection (13 patterns)
- API routes sin Zod / schema validation (VAL-001)
- SQL injection via
$queryRawcon template literal (VAL-004) - dangerouslySetInnerHTML sin sanitizer (VAL-003)
- NoSQL injection via spread de body (INJ-005)
- Command injection en
child_process.exec(INJ-001) - Path traversal en
fs.readFile/writeFile(INJ-002) - eval / Function constructor con user input (INJ-003)
- Prototype pollution via Object.assign del body (INJ-004)
- ReDoS:
new RegExp(userInput)(INJ-006) - Mass assignment en ORM sin
.strict()(INJ-007) - react-markdown con rehype-raw sin sanitize (XSS-001)
target="_blank"sinrel="noopener"(XSS-002)
api / cors / rate-limit / errors (6 patterns)
- CORS wildcard
*(API-CORS-001) - CORS
*+credentials: true(combo letal) (CORS-002) - Endpoints IA sin rate limit ni
max_tokens(API-RATE-002) - SSRF en
fetchcon URL variable (API-SSRF-001) - Error leakage:
err.message/stackal cliente (API-003) - GraphQL sin depth / complexity limits (API-004)
webhooks (2 patterns)
- Webhook sin verificacion HMAC (Stripe/Polar/HubSpot/LemonSqueezy/Clerk) (WEBHOOK-001)
- Webhook con HMAC pero sin idempotency (replay attack) (WEBHOOK-002)
ai / llm surface (4 patterns)
- Prompt injection — user input en system prompt (AI-003)
- Output de LLM renderizado como HTML crudo (AI-004)
- Llamadas LLM sin
max_tokens(AI-COST-001) - Mapeo a OWASP LLM Top 10 2025 (LLM01/02/04)
infra / csp / headers (4 patterns)
NEXT_PUBLIC_con nombres o valores sensibles (INFRA-002, SEC-KEY-004)- Ausencia de security headers (CSP/HSTS/X-Frame-Options) (INFRA-003)
- CSP con
unsafe-inlineounsafe-eval(CSP-001) - App Router sin
error.tsx(INFRA-004)
deps & cves (3 patterns)
npm auditcon vulnerabilidades criticas (DEP-001, DEP-003)- CVEs publicos recientes: cookie, lodash, jsonwebtoken, ws, node-fetch, path-to-regexp, semver (DEP-004)
- CVE-2025-55182 RSC deserialization RCE en Next.js (RSC-001)
uploads & files (2 patterns)
- File upload sin validacion de MIME / size (UPLOAD-001)
- SVG upload aceptado sin sanitize (UPLOAD-002)
otros (4 patterns)
- Script externo sin Subresource Integrity (SRI-001)
- Email header injection (EMAIL-001)
- Cursor-generated con placeholders
YOUR_API_KEY_HEREsin reemplazar (CURSOR-001)
what we don't cover
- Pentesting profundo con Burp Suite, fuzzing activo o exploit chaining (requiere CISSP y cuesta 8-20k EUR)
- Analisis linea a linea de logica de negocio
- Cumplimiento formal (SOC2, ISO 27001, HIPAA, PCI-DSS) — apuntamos a especialista
- Auditorias de smart contracts, Web3 o criptografia custom
- Testing de carga o rendimiento
- Revision de UX, accessibility o SEO
- Cambios de codigo en tu repo: el plan entrega diff + apply-as-PR generados por Claude. El review y el merge los decide siempre el cliente.
methodology
Combinamos tres tecnicas: (1) static analysis con AST parsers (Babel) y regex generator-specific (Lovable, v0, Bolt, Cursor); (2) queries read-only a Supabase Management API y Vercel API para leer configuracion efectiva; (3) revision humana final que filtra falsos positivos antes de entrega.
Cada finding incluye: severity, confidence (low/medium/high), mapeo a CWE + OWASP Top 10 2025, file path + line number, remediation en prosa + codigo ejemplo, y referencias externas autoritativas (OWASP, NVD, docs oficiales del framework).
Calibracion continua:cada cliente puede marcar cada finding como "real / falso positivo / no aplica" en su dashboard. Agregamos el feedback por patternId y refinamos los detectores que superen 30% de false-positive rate. Los resultados de calibracion publica de los ultimos audits aparecen en /docs/scanner-coverage.