Kareloko/claude-security-kit

GitHub: Kareloko/claude-security-kit

为 Next.js + Supabase SaaS 应用提供生产级安全审计、合规与事故响应的一体化工具包。

Stars: 0 | Forks: 0

# Claude Security Kit **2 skills + 4 playbooks** que protegen tu SaaS del OWASP Top 10, aplican cumplimiento legal (GDPR/LATAM) y automatizan la defensa de seguridad — todo desde tu terminal. ## Lo que obtienes | Componente | Descripción | |-----------|-------------| | `saas-security-audit` | 30+ comprobaciones de seguridad probadas en producción: RLS, autenticación, CSP, OWASP, secuestro de sesión, cumplimiento legal, escaneo de secretos | | `saas-security-review` | Orquestador diario: calidad del código + auditoría de seguridad + verificación OWASP universal en secuencia | | `security-fundamentals.md` | CIA triada, glosario de severidad, huella de sesión, patrones de re-autenticación | | `offensive-security.md` | Playbook de hacking ético: Burp, Kali, ZAP, bug bounty, forensics | | `incident-response.md` | Playbook minuto a minuto para los primeros 60 minutos de una brecha | | `security-automation.md` | Configuración única: Dependabot, CodeQL, DMARC, SIEM, backups encriptados | | `wordpress-audit.md` | Plantilla de auditoría profesional para sitios WordPress cliente | ## Instalación ``` claude plugin install github:Kareloko/claude-security-kit ``` O clona manualmente: ``` git clone https://github.com/Kareloko/claude-security-kit.git ~/.claude/plugins/claude-security-kit ``` ## Uso ### Revisión diaria (después de terminar una función) ``` You: "security review" ``` Ejecuta **simplify** (calidad del código) -> **saas-security-audit** (30+ comprobaciones) -> verificación OWASP universal en secuencia. Reporta bloqueadores con soluciones concretas. ### Auditoría de seguridad (antes del lanzamiento o funciones sensibles) ``` You: "security audit" ``` Ejecuta todas las fases incluyendo comprobaciones de cumplimiento legal (endpoints GDPR, Dependabot, DMARC, feature flags, backups). ### Auditoría ofensiva profunda (pentest-style) ``` You: "security audit --deep" ``` Añade técnicas ofensivas de Burp/ZAP/ffuf. Detecta la pila automáticamente (Next.js vs WordPress) y usa la plantilla de auditoría correcta. ## Qué revisa (30+ reglas) ### Seguridad Core (Fase 1) - RLS habilitado en TODAS las tablas de Supabase - `getUser()` siempre, `getSession()` nunca en el servidor - `SERVICE_ROLE_KEY` nunca en código cliente - Validación Zod como primera línea en acciones del servidor - Limitación de tasa en endpoints costosos (IA, autenticación, APIs externas) - Cabeceras CSP con nonce (sin `unsafe-inline` en script-src) - Rutas admin devuelven 404, nunca 403 - `redirectTo` validado como ruta local (anti-open-redirect) - Mensajes de error genéricos de login (anti-enumeración de email) - Borrado suave: RLS SELECT incluye `deleted_at IS NULL` - Capa doble de multi-tenancy (RLS + verificación explícita de código) - Verificación de firma de webhook - Sin errores internos expuestos al cliente ### Reglas Anti-Bugs (Fase 2) - `"use client"` no sobrecargado (Server Components por defecto) - `NEXT_PUBLIC_` no expone secretos - Tipos de Supabase sincronizados con el esquema - Botones de submit tienen `disabled={isPending}` - Tablas creadas vía migraciones, nunca en tiempo de ejecución ### Cumplimiento Legal (Fase 2.5) - `/api/account/delete` endpoint (GDPR art. 17 / Ley 29733 Perú) - `/api/account/export` endpoint (GDPR art. 20) - Re-autenticación para acciones destructivas - Tabla de feature flags (kill switch sin redeploy) - `security.txt` publicado - Dependabot + CodeQL + TruffleHog configurados - SIEM ligero con cron para monitoreo de eventos de seguridad - Backup offsite encriptado ### Bugs probados en producción (Fase 3) Bugs reales de aplicaciones SaaS reales: - Variables de entorno con `\n` al final (crash silencioso en Upstash/Stripe) - Manejadores de cron sin try/catch global (fallos silenciosos) - `.env.example` desactualizado respecto al código real - Política RLS con auto-referencia (recursión infinita) - `signInWithPassword` en acción del servidor (las cookies no se propagan) - CSP nonce + página estática = página en blanco - Registro sin rollback de perfil (auth.users huérfanos) ### Clasificación CIA (Fase 4) Cada hallazgo clasificado por: - **Confidencialidad** / **Integridad** / **Disponibilidad** (pilares) - **Severidad**: CRÍTICO > ALTO > MEDIO > BAJO > INFO ## Ejemplo de reporte ``` # Security Audit Report — my-saas-app Date: 2026-04-16 Verdict: DO NOT MERGE ## Summary - CRITICAL: 1 (RLS missing on payments table) - HIGH: 2 (no account deletion endpoint, webhook without signature) - MEDIUM: 3 (missing CSP, no rate limit on /api/ai, Dependabot not configured) ## CRITICAL: RLS missing on payments table - File: supabase/migrations/20260401_payments.sql - CIA: Confidentiality - Fix: ALTER TABLE payments ENABLE ROW LEVEL SECURITY; ... ``` ## Pila tecnológica Construido para: - **Next.js 15+** (App Router, Server Components, Server Actions) - **Supabase** (PostgreSQL + Auth + RLS + Storage) - **Vercel** (despliegue, crons, entorno) - **TypeScript** (modo estricto) Funciona con cualquier proyecto Next.js + Supabase que siga convenciones estándar. ## Nacido de bugs reales Esta herramienta nació de **incidentes reales en producción** en 5+ aplicaciones SaaS que sirven mercados LATAM (médico, financiero, educación, datos de niños). Cada regla existe porque un bug real ocurrió y se documentó para que nunca más vuelva a pasar. ## Licencia MIT — úsalo, forkéalo, mejóralo, compártelo. **Hecho con cicatrices de batalla por [Somar Creaciones](https://github.com/Kareloko)**
标签:Burp Suite, Claude Code, CodeQL, CSP, CSV导出, Dependabot, DMARC, FFUF, GDPR, HTTP工具, LATAM, OWASP Top 10, RLS, SaaS, StruQ, Supabase, 会话劫持, 依赖审计, 加密备份, 取证, 合规, 后渗透, 子域名变形, 安全标准, 安全评估工具, 服务器监控, 生产级安全, 秘密扫描, 终端安全, 自动化防御