
Skill de Claude que audita tus proyectos en busca de configuraciones incorrectas de RLS, claves expuestas, bypasses de autenticación y vulnerabilidades de almacenamiento. 27 antipatrones provenientes de CVE-2025-48757 y 10 estudios de seguridad. Seguro para producción.
Una skill de Claude que audita tus backends de base de datos para vulnerabilidades de seguridad.
Colócalo en Claude Code, Cursor o cualquier entorno potenciado por Claude. Di "audita mi base de datos" y obtén un informe de seguridad completo con el código de corrección exacto, en minutos, no en días.
Más de 170 aplicaciones Lovable fueron filtradas. 20.1 millones de filas expuestas en startups de YC. ~87,000 instancias de MongoDB quedaron vulnerables a MongoBleed (CVE-2025-14847, CISA KEV). 1.8 millones de contraseñas de Firebase filtradas en un solo incidente de 2025. El 45% del código generado por IA introduce vulnerabilidades del OWASP Top 10. Database Sentinel prueba si tu configuración de seguridad realmente funciona — no solo si está presente.
Database Sentinel realiza una auditoría de seguridad de 7 pasos en cualquier backend que tu proyecto use:
tx=rollback, colecciones canarias, detector MongoBleed opt-in)El razonamiento entre backends detecta problemas que los escáneres de un solo backend pasan por alto (por ejemplo, un UID de Firebase Auth confiado por una API de Postgres sin verificación JWT).
| Fase | Backend | Estado |
|---|---|---|
| 1 | Supabase | ✅ enviado |
| 2 | MongoDB (auto-alojado + Atlas) | ✅ enviado |
| 3 | Firebase (Firestore / RTDB / Storage / Functions / Remote Config) | 🚧 planificado |
| 4 | PostgreSQL (auto-alojado, incluyendo pgBouncer) | 🚧 planificado |
| 5 | MySQL (auto-alojado) | 🚧 planificado |
| 6 | Análisis de interacción entre backends | 🚧 planificado |
| 7 | Distribución + pulido | 🚧 planificado |
Database Sentinel fue anteriormente Supabase Sentinel (un solo backend). El cambio de nombre ocurrió durante la Fase 1 de la expansión multi-backend. Un shim de compatibilidad hacia atrás en compat/supabase-sentinel/ preserva el nombre antiguo de la skill al menos hasta la próxima versión menor — los usuarios existentes no ven regresión.
Clona la skill en el directorio de skills de tu proyecto, o en uno central:
git clone https://github.com/Farenhytee/database-sentinel.git ~/claude-skills/database-sentinel
Luego pregúntale a Claude:
Audit my database
Database Sentinel detectará qué backend(s) usa tu proyecto, ejecutará las auditorías relevantes y producirá un informe unificado. Si hay múltiples backends (Firebase Auth + datos de Postgres, etc.), el informe incluirá una sección de interacciones entre backends una vez que la Fase 6 esté disponible.
Si solo quieres auditar un backend específico, pregunta explícitamente:
Audit my Supabase project
Audit my MongoDB instance
El distribuidor reduce el alcance.
Copia el contenido de SKILL.md más el backends/<name>/workflow.md relevante en tu prompt del sistema. Recorre los 7 pasos con tus credenciales.
| Severidad | Patrón | Qué |
|---|---|---|
| 🔴 CRÍTICO | SB-001 RLS_DISABLED | Tablas sin Seguridad a Nivel de Fila (RLS) — completamente expuestas a internet |
| 🔴 CRÍTICO | SB-002 SERVICE_ROLE_EXPOSED | clave service_role en código frontend — elude TODA la seguridad |
| 🔴 CRÍTICO | SB-003 POLICIES_BUT_NO_RLS | Políticas escritas pero RLS nunca habilitado — falsa seguridad |
| 🔴 CRÍTICO | SB-005 WRITE_USING_TRUE | INSERT/UPDATE/DELETE con USING(true) — cualquiera puede modificar |
| 🟠 ALTO | SB-006 USING_TRUE_SELECT | Todas las filas legibles por usuarios anónimos en tablas sensibles |
| 🟠 ALTO | SB-007 VIEW_NO_SECURITY_INVOKER | Las vistas evaden RLS, se ejecutan como superusuario |
| 🟠 ALTO | SB-008 SECURITY_DEFINER_EXPOSED | Funciones en esquema público evaden RLS, invocables vía API |
| 🟠 ALTO | SB-009 USER_METADATA_IN_POLICY | Las políticas hacen referencia a metadatos modificables por el usuario — escalada de privilegios |
| 🟠 ALTO | SB-010 UPDATE_NO_WITHCHECK | Políticas UPDATE sin WITH CHECK — riesgo de asignación masiva |
| 🟠 ALTO | SB-011 GHOST_AUTH | Registros con correo no confirmado otorgan sesiones autenticadas |
| 🟠 ALTO | SB-012 STORAGE_NO_RLS | Bucket de almacenamiento sin políticas de control de acceso |
| 🟠 ALTO | SB-013 JWT_SECRET_EXPOSED | Secreto de firma JWT filtrado — puede falsificar el token de cualquier usuario |
| 🟡 MEDIO | + 15 patrones más | Ver backends/supabase/anti-patterns.md |
| Severidad | Patrón | Qué |
|---|---|---|
| 🔴 CRÍTICO | MG-SH-001 MongoBleed (CVE-2025-14847, CISA KEV) | Divulgación de memoria heap previa a la autenticación mediante paquete comprimido manipulado. ~87K instancias expuestas en el momento de la divulgación. |
| 🔴 CRÍTICO | MG-SH-002 Auth deshabilitado | mongod ejecutándose sin autenticación — superficie de ataque del ransomware Meow |
| 🔴 CRÍTICO | MG-SH-003 mongod enlazado a internet | --bind_ip_all + 27017 accesible — combinado con MG-SH-002 para compromiso total |
| 🔴 CRÍTICO | MG-AT-001 Lista de permitidos Atlas 0.0.0.0/0 | Clúster Atlas accesible desde cualquier lugar en internet |
| 🟠 ALTO | MG-SH-004 Bypass de autenticación localhost + ejecución en contenedor | enableLocalhostAuthBypass true + acceso docker exec |
| 🟠 ALTO | MG-SH-005 JS del lado del servidor habilitado | $where / $function / mapReduce accesibles — superficie NoSQL-RCE |
| 🟠 ALTO | MG-SH-006 TLS no requerido | Tráfico en texto plano en la red |
| 🟠 ALTO | MG-SH-007 Rol privilegiado en usuario de la aplicación | La aplicación se conecta como root / dbAdminAnyDatabase etc. |
| 🟠 ALTO | MG-SH-008 Documento de rol auto-modificable | findByIdAndUpdate(id, req.body) + sin validador + campo de rol |
| 🟠 ALTO | MG-AT-002 Función Atlas como paso a través de BD | Inyección NoSQL sobre HTTPS — proliferado tras la desaprobación de la API de Datos |
| 🟠 ALTO | MG-AT-003 API de Datos Atlas aún en código | Desaprobada el 30 de septiembre de 2025; rota Y probablemente rotada a Funciones menos auditadas |
| 🟡 MEDIO | MG-SH-009 Mongoose < 8.9.5 | CVE-2024-53900 / CVE-2025-23061 — inyección populate-match $where |
| 🟡 MEDIO | + 8 patrones más | Ver backends/mongodb/anti-patterns.md |
La sonda de red MongoBleed (backends/mongodb/mongobleed-probe.md) incluye un detector de un solo paquete que confirma la explotabilidad en tiempo de ejecución — verificado contra mongo:7.0.20 (vulnerable) y mongo:7.0.28 (parcheado). Es de solo lectura, protegido por dos confirmaciones opt-in, y nunca extrae contenido.