Saltar al contenido principal

Menú de comandos

Ve a una página o busca en el catálogo

Herramientas y scripts de IA

Revisión de configuración y funciones de Supabase

Revisa tus proyectos de Supabase antes de desplegar: claves de servicio en variables NEXT_PUBLIC_ o VITE_, secretos en config.toml, comodines de redirección que aceptan cualquier sitio, Edge Functions abiertas que usan la clave de servicio y ajustes de autenticación débiles.

$5.00

Qué recibes: 1 archivo · 47.97 KB · ZIP

Ver opciones de compra

Descripción del producto

NEXT_PUBLIC_SUPABASE_SERVICE_ROLE_KEY entrega a cada visitante la clave que se salta todas las políticas de Row Level Security, y "https://*.vercel.app/**" en tu lista de redirecciones permite que cualquiera con una cuenta de Vercel reciba las redirecciones de magic link y OAuth de tus usuarios. Esta skill detecta esos y los demás errores de Supabase que se indican a continuación antes de que despliegues, y te explica cómo corregir cada uno.

Tu agente ejecuta un escáner sobre supabase/config.toml (incluidos los bloques de ramas [remotes]), el código de Edge Functions en supabase/functions, el código de cliente y servidor en JavaScript y TypeScript (Next.js, SvelteKit, Nuxt, Vite, Astro, Expo), los archivos app.json y eas.json de Expo, los archivos de Python, Dart, Swift y Kotlin que contienen claves y los archivos .env. Lee el rol dentro de las claves JWT heredadas, conoce los nuevos formatos sb_publishable_ y sb_secret_, ignora las claves públicas fijas del stack local de la CLI, no toca los deep links de apps (myapp://**), trata los valores env() y encrypted: como referencias y evalúa los ajustes de registro y contraseñas solo cuando config.toml configura un proyecto desplegado, de modo que el archivo que genera supabase init no se marca. Nunca ejecuta código ni se conecta a Supabase. Devuelve BLOCK, REVIEW o NOT FLAGGED, con el archivo, la línea, el motivo y una alternativa más segura. Los secretos nunca se muestran.

Qué comprueba

BLOCK (corrígelo antes de publicar)

  • U01: la clave service_role o secreta en una variable pública (NEXT_PUBLIC_, VITE_, EXPO_PUBLIC_, PUBLIC_ y otras, también en eas.json), una variable pública que contiene una clave de servicio, o una clave de servicio en Nuxt runtimeConfig.public, Expo extra (app.config o app.json), Next.js env o Vite define
  • U02: un JWT de service_role o una clave sb_secret_ escritos en el código, app.json, eas.json o una plantilla env subida al repositorio
  • U03: secretos de OAuth, SMTP, SMS, CAPTCHA, auth hooks, Studio, S3, Edge Runtime o Vault escritos en config.toml en lugar de env()
  • U04: URL de redirección cuyos comodines aceptan sitios de otras personas (** en el host, incluido el patrón de vista previa de Netlify de la documentación, *.com, *.vercel.app, *-*.vercel.app, *.netlify.app, *.pages.dev y otros hosts compartidos)

REVIEW (revísalo antes del lanzamiento)

  • U11: Edge Functions con la verificación de JWT desactivada (verify_jwt = false, --no-verify-jwt, withSupabase auth 'none' o 'publishable') que usan la clave de servicio y nunca comprueban quién las llama (JWT del usuario, clave secreta, firma de webhook o cabecera secreta)
  • U12: registro por email sin confirmación del email en un proyecto desplegado
  • U13: una longitud mínima de contraseña inferior a 8 en un proyecto desplegado
  • U14: inicios de sesión anónimos sin CAPTCHA en un proyecto desplegado
  • U15: caducidad del JWT superior a una hora, rotación de refresh tokens desactivada, confirmación del cambio de email en una sola dirección o la comprobación del nonce omitida en un proyecto desplegado
  • U16: URL del sitio o de redirección con http:// simple para hosts que no son locales
  • U17: buckets de almacenamiento públicos, en config.toml o creados en el código, salvo que las palabras del nombre indiquen contenido público, como avatars o profile-pictures
  • U18: getSession() considerado fiable en código de servidor (middleware, proxy, route handlers, componentes y acciones de servidor) sin getClaims() ni getUser()

Qué incluye

  • El escáner (Python 3.9+, solo biblioteca estándar)
  • Una guía de reglas con el motivo, la alternativa más segura y la fuente oficial de Supabase de cada regla
  • Un proyecto de ejemplo arriesgado y otro seguro (config.toml, una Edge Function, un middleware de Next.js, un script de seed y una plantilla env), y el informe real que genera el escáner sobre el arriesgado

Limitaciones

Lee los archivos tal como están escritos: no conoce los ajustes cambiados solo en el panel de Supabase, las políticas de Row Level Security ni las migraciones SQL, ni los secretos definidos con supabase secrets set. La comprobación de quién llama a una Edge Function se busca en el mismo archivo, y U11 necesita la carpeta del proyecto que contiene config.toml o el script de despliegue. La exposición en el navegador se determina por los prefijos de las variables y los ajustes de Nuxt, Expo, Next.js env y Vite define, no rastreando las importaciones. NOT FLAGGED no es una garantía.

Contenido

Un archivo ZIP con 19 archivos: SKILL.md, el escáner en scripts/ (8 archivos de Python), references/rules.md (cada regla con su motivo y su alternativa más segura) y examples/ (10 archivos de ejemplo más report.md, la salida real del escáner sobre el ejemplo arriesgado).

Cómo usarlo: Esta es una skill para agentes: una carpeta con un archivo SKILL.md y scripts de Python que puede ejecutar un agente de programación con IA como Claude Code, Cursor o Codex CLI. Descomprímela en la carpeta de skills de tu agente (para Claude Code: ~/.claude/skills/) y luego pide a tu agente que revise tu proyecto. Los scripts también funcionan por sí solos con Python 3.9 o posterior, sin instalar nada. Solo leen tus archivos: sin acceso a la red y sin enviar nada a ningún sitio.

Qué recibes

1 archivo · 47.97 KB

  • supabase-config-functions-check-1.0.0.zipZIP · 47.97 KB
LicenciaUso comercial permitido
Revisión del paqueteSuperada

Getly abrió los archivos subidos y no encontró nada que impida abrirlos. No es un análisis antivirus ni una valoración de calidad.

Publicado12 nov 2026
Tamaño del archivo47.97 KB
Formato de archivoZIP
Versiónv1.0

Etiquetas

supabaseedge-functionsauthsecurityapi-keysai agent skill
R
RR HH

Preguntas frecuentes

¿Tengo acceso al instante?

Sí. Es un producto digital: puedes descargarlo justo después del pago, directamente desde tu biblioteca.

¿Puedo usarlo en proyectos comerciales?

Sí. Se permite el uso comercial: úsalo en tu propio negocio y en cosas que vendas. No puedes revender ni redistribuir el archivo en sí.

¿Cuál es vuestra política de reembolso?

Puedes pedir un reembolso dentro de 30 días. Si algo no va bien, solicítalo desde tu pedido y el equipo de Getly lo revisa.

¿Qué formatos y tamaños de archivo recibiré?

Descargarás 1 archivo - ZIP - 47.97 KB en total.

¿Recibo actualizaciones gratis?

Sí: cuando el vendedor publica una versión nueva, puedes volver a descargar los archivos más recientes desde tu biblioteca sin coste extra. Mira el registro de cambios para ver las últimas actualizaciones.

Precio

$5.00