Seguridad en Supabase
Checks de seguridad específicos para proyectos con Supabase. Row Level Security, service role keys, políticas de storage y funciones RPC.
8 vulnerabilidades
Row Level Security Deshabilitado
criticalLas tablas de Supabase sin RLS habilitado permiten a cualquier usuario autenticado o anónimo leer, insertar, actualizar y eliminar todas las filas usando la librería cliente.
Política RLS con USING(true)
criticalLas políticas RLS que usan USING(true) o WITH CHECK(true) efectivamente deshabilitan la seguridad a nivel de fila al permitir todas las operaciones para todos los usuarios.
RLS Habilitado Sin Políticas
highRLS está habilitado en una tabla pero no hay políticas definidas, lo que silenciosamente bloquea todo el acceso incluyendo queries legítimos de tu aplicación.
Service Role Key Expuesta
criticalLa service_role key de Supabase está hardcodeada en código frontend, comiteada en un repo o expuesta en bundles del cliente, dando acceso admin completo a la base de datos a cualquiera.
Buckets de Storage Públicos
mediumLos buckets de storage de Supabase con políticas permisivas permiten a cualquier usuario subir, leer o eliminar archivos incluyendo documentos privados e imágenes de otros usuarios.
Funciones RPC Sin Autenticación
highLas funciones de base de datos de Supabase (RPC) son invocables desde el cliente sin verificar auth.uid(), permitiendo a usuarios anónimos ejecutar operaciones privilegiadas.
Anon Key con Permisos Excesivos
mediumEl rol de base de datos anon tiene permisos en demasiadas tablas, expandiendo la superficie de ataque para cualquiera con la anon key públicamente disponible.
Migraciones de Base de Datos No en Repo
lowLos cambios de esquema de base de datos se aplican manualmente por el Dashboard de Supabase en vez de archivos de migración trackeados, haciendo imposible auditorías de seguridad y rollbacks.