Saltar al contenido

Escanee una página pública en busca de 25 tipos de secretos filtrados

Las apps hechas con vibe coding suelen enviar claves al navegador. Indique la dirección de una sola página suya y el escáner lee el HTML de esa página y los archivos de script que enlaza, en busca de claves API, tokens y URL de bases de datos que un visitante podría copiar. Los valores se muestran enmascarados.

Página que escanear

Una página, no todo el sitio.El escaneo lee esta dirección y los scripts que enlaza. Para comprobar otra página, escanee también su dirección.

Confirme que es una persona

Así se mantienen las solicitudes automáticas fuera del servicio.

Solo se obtienen los archivos públicos de la dirección que indique, desde la red de Cloudflare. No se guarda nada.

Resultado

Lo que este escaneo no puede ver

El escáner solo lee los archivos que el navegador de un visitante descarga de la página. No ve secretos que se quedan en el servidor, páginas tras un inicio de sesión, archivos que se cargan después con import() ni source maps. Un resultado limpio no demuestra que la app sea segura.

Los 25 tipos de clave

20 de ellos son secretos que nunca deben llegar a un navegador. 5 son públicos por diseño.

Las claves marcadas como públicas, como una clave anon de Supabase, una apiKey de Firebase o una clave publicable de Stripe, están pensadas para el navegador. Solo son seguras mientras las reglas de su base de datos protejan los datos que hay detrás.

Tipo de claveIDGravedadClase
Clave API de OpenAIopenai-keyCríticaSecreto
Clave API de Anthropicanthropic-keyCríticaSecreto
Clave secreta live de Stripestripe-secretCríticaSecreto
Clave secreta de prueba de Stripestripe-test-secretMediaSecreto
Clave publicable de Stripestripe-publishableInfoPúblico por diseño
ID de clave de acceso de AWSaws-access-keyAltaSecreto
Clave de acceso secreta de AWSaws-secretCríticaSecreto
Token de GitHubgithub-tokenCríticaSecreto
Clave API de Googlegoogle-api-keyInfoPúblico por diseño
apiKey de la configuración web de Firebasefirebase-web-configInfoPúblico por diseño
Clave service_role de Supabasesupabase-service-role-jwtCríticaSecreto
Clave anon de Supabasesupabase-anon-jwtInfoPúblico por diseño
JSON Web Tokenjwt-otherBajaSecreto
Clave secreta de Supabasesupabase-secret-keyCríticaSecreto
Clave publicable de Supabasesupabase-publishable-keyInfoPúblico por diseño
Token de Slackslack-tokenCríticaSecreto
URL de webhook de Slackslack-webhookAltaSecreto
Clave API de SendGridsendgrid-keyCríticaSecreto
SID de clave API de Twiliotwilio-keyAltaSecreto
Clave API de Mailgunmailgun-keyAltaSecreto
Bloque de clave privadaprivate-key-blockCríticaSecreto
URL de base de datos con contraseñadatabase-urlCríticaSecreto
Token de npmnpm-tokenCríticaSecreto
Token de Hugging Facehuggingface-tokenAltaSecreto
Clave API de Resendresend-keyAltaSecreto

Preguntas

¿Qué lee el escáner de secretos?

Lee el HTML de la página y hasta 14 archivos de script que enlaza, 3 MB en total, los primeros 512 KB de la página y los primeros 1 MB de cada archivo. Busca formatos de clave conocidos, como claves API, tokens de acceso, bloques de clave privada y URL de bases de datos con contraseña.

¿Dónde se ejecuta el escaneo y cuánto tarda?

El escaneo se ejecuta en su navegador; nuestro servidor solo obtiene los archivos para él, una solicitud por archivo. No se guarda nada. En un sitio lento, un escaneo puede tardar hasta un minuto y medio aproximadamente.

¿Qué no puede ver el escáner?

Secretos que solo existen en el servidor, páginas tras un inicio de sesión, fragmentos que la página carga después con import() y source maps. Tampoco puede saber si una clave encontrada sigue activa. Un resultado limpio no demuestra que la app sea segura.

¿Por qué algunas claves se marcan como públicas por diseño?

Una clave anon o publicable de Supabase, una apiKey de Firebase, una clave API de Google y una clave publicable de Stripe están hechas para enviarse al navegador. Identifican su proyecto y solo conceden lo que permiten las reglas de su base de datos, las restricciones de la API y las comprobaciones del servidor. Se indican para que confirme que esas reglas existen, no porque la clave en sí sea una filtración.

¿Qué hago si se filtra un secreto real?

Rótelo primero: cree una clave nueva en el proveedor y revoque la anterior. Después pase la clave nueva a código del servidor o a variables de entorno y vuelva a desplegar. Borrar la clave del código no basta, porque el valor antiguo sigue en compilaciones anteriores, cachés y en el historial de git.

¿Por qué las apps hechas con vibe coding filtran claves tan a menudo?

El código escrito deprisa con herramientas de IA suele llamar a una API de pago o privilegiada directamente desde el navegador, y la clave acaba en el script que descarga cada visitante. La seguridad en el vibe coding empieza por mantener esas llamadas en el servidor.