scanfull
sin registro · sin tarjeta · el primer escaneo es gratis

La IA te entregó una app lista.
Y la clave de la base en el navegador.

Scanfull abre tu app publicada como lo haría cualquier visitante, encuentra lo que quedó expuesto y prueba cada falla. Después te entrega el prompt listo para que tu asistente lo corrija — y vuelve para confirmar que se cerró.

Sin registro y sin tarjeta. El análisis tarda unos minutos — es un navegador de verdad abriendo tu app.

Úsalo solo en aplicaciones tuyas o con autorización. No pongas contraseñas ni tokens en la URL.

chromium · meu-app.lovable.app/assets/index-4f2b.jsleyendo
1281import { createClient } from "@supabase/supabase-js"1282// gerado automaticamente — não editar1283const url = "https://xyzcompany.supabase.co"1284const db = createClient(url, "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9")1285// role: service_role · ignora toda a RLS
críticoclave service_role expuesta

Analizamos la app publicada — la herramienta que generó el código no importa

LovableCursorBolt.newv0Claude CodeReplitWindsurfFirebase StudioBase44Next.jsSupabaseVercel
Claude CodeCursorLovableWindsurfGitHub CopilotChatGPTGeminiReplit Agent

La app cargó. El login funcionó. Falta una pregunta.

¿Qué puede hacer un extraño más allá de lo que planeaste?

Crítico

La clave que debía quedarse en el servidor se fue con el deploy.

Cuando una credencial privada termina en el código que el navegador descarga, deja de ser tuya. Quien abra el archivo empieza a gastar en tu cuenta.

GET /assets/index-4f2b.js → 200 · sk_live_4eC3••••

Crítico

Entrar a la app no debería dar acceso a toda la base.

Con Row Level Security apagado, la misma llamada que trae tus pedidos trae los de todos. La app funciona igual — la fuga es silenciosa.

GET /rest/v1/orders (sin sesión) → 200 · 3.418 filas

Alto

El deploy se llevó más que la versión nueva.

Archivos de entorno, respaldos y directorios de código siguen servidos por el servidor porque nadie le dijo que los bloqueara.

GET /.env → 200 · 1,2 KB

Medio

Tu dominio envía correo en tu nombre. Y el de cualquiera también.

Sin SPF y DMARC publicados, un tercero manda phishing firmando con tu dominio. Quien paga la cuenta de la confianza es tu cliente.

TXT _dmarc.tu-dominio.com → no encontrado

Nadie va a hackear tu app.
Un bot ya está pasando por ella.

Casi nadie se despierta decidido a atacar tu sistema. Lo que existe es rastreo automático, todo el día, buscando el mismo puñado de descuidos en cada dirección que responde. No tienes que ser un objetivo — basta con estar en línea.

230 millones

de objetivos rastreados por una sola campaña

Una operación de extorsión recolectó archivos .env de unos 110.000 dominios y usó las máquinas comprometidas para rastrear internet en busca de más. Nadie eligió a esas víctimas: solo respondieron.

Unit 42, Palo Alto Networks · 2024

22 minutos

entre que la falla se hace pública y el primer intento

Fue el lapso medido entre la publicación de una prueba de concepto y el primer ataque real usándola. No es tiempo para reaccionar después — es tiempo para ya estar cerrado antes.

Cloudflare, State of Application Security · 2024

170 de 1.645

apps de la propia vitrina de Lovable con la base abierta

Un investigador rastreó la galería oficial y encontró 10% con la protección de fila de la base apagada. Se podía leer nombre, correo, teléfono, dirección y monto de deuda de personas reales.

CVE-2025-48757 · Matt Palmer

Qué hace un extraño con la base abierta, en la práctica

  • Lee la tabla de usuarios

    Nombre, correo, teléfono y dirección de tus clientes, de una vez, con una petición que hace cualquier navegador.

  • Escribe en ella

    Sin regla de fila, leer y escribir son el mismo permiso. Puede editar su propio registro y volverse suscriptor sin pasar por el pago.

  • Gasta en tu cuenta

    Con la clave de API en el bundle, el consumo es de él y la factura es tuya — y te enteras recién a fin de mes.

Ninguna de estas requiere talento. Requiere que la puerta esté abierta — y el rastreo que encuentra la puerta es el mismo para todos. Por eso cerrar esta capa saca a tu app de la lista de objetivos automáticos, de donde viene casi todo incidente en una app nueva.

Encontrar es fácil. Probar es el trabajo.

Cualquier escáner encuentra una clave que parece clave. La pregunta que decide si tienes que despertarte a las tres de la mañana es otra: ¿funciona?

Escáner de superficie

«Encontramos una credencial que parece ser privada. Validez no verificada. Confianza: por confirmar.»

Recibes una sospecha y el trabajo de investigar solo.

Scanfull

«Usamos la clave. Abrió 3 tablas sin autenticación y devolvió 3.418 registros — incluyendo correo y dirección de clientes.»

Recibes un hecho, con la lista de las tablas que se abrieron.

La prueba que interactúa de verdad con tu sistema solo corre después de que demuestras que el dominio es tuyo. Sin eso, sería una prueba de intrusión en el sitio ajeno — y no lo hacemos ni cuando lo piden.

De la URL al «listo».

Cuatro pasos. El tercero es gratis y el cuarto es lo que casi nadie entrega.

  1. 01

    Pega la dirección

    Sin registro, sin tarjeta, sin instalar nada. Solo la URL pública de tu app.

  2. 02

    Un navegador de verdad abre tu sitio

    No es un curl mirando una cabecera. Es Chromium recorriendo hasta 120 páginas, leyendo los bundles, el storage, las cookies y el DNS del dominio. Tarda unos minutos, y por eso encuentra lo que encuentra.

  3. 03

    Ves la nota y las fallas al instante

    Gratis, con el plan de acción priorizado: qué atacar hoy, cuánto tarda y cuánto riesgo se va.

  4. 04

    Corriges y pruebas que corregiste

    El informe completo muestra dónde está cada falla y el prompt listo. Después, el retest lo confirma en vivo — y eso viene incluido.

Mira el informe antes de escribir nada.

El hallazgo, la prueba que lo sostiene, la corrección y la confirmación — en ese orden, porque es el orden en que necesitas actuar.

informe · mi-app.lovable.app · alcance públiconota 0 / 100

Veredicto

Tres hallazgos críticos dejan la base y la cuenta de API al alcance de cualquier visitante — y tres críticos ponen la nota en cero. La app está en línea y funcionando: eso es lo que hace que nadie lo note.

3
Crítico
1
Alto
3
Medio
0
Bajo
0
Info

Plan de acción: el primer bloque tarda ~1h40 y elimina 89% del riesgo.

Abrir el informe de ejemplo completo7 hallazgos · plan de acción · prompts de corrección

Qué encontramos

63 tipos de chequeo en 11 familias, cada uno clasificado por OWASP Top 10 y CWE. Cada tipo corre contra cada página, cada archivo y cada cabecera que tu app entrega — tu informe muestra cuántas verificaciones se ejecutaron de verdad.

Secretos en el frontend

Stripe, OpenAI, Anthropic, AWS, Google, GitHub, claves PEM — y la service_role de Supabase, que ignora todo el RLS.

Base pública (RLS)

Prueba activa: intentamos leer tus tablas sin autenticación. Si vuelve una fila, la base está abierta — y contamos cuántas.

Archivos expuestos

.env, .git y respaldos de configuración servidos públicamente. Un secreto a un clic, sin ninguna técnica.

Cabeceras y cookies

CSP, HSTS, clickjacking, nosniff, Referrer-Policy, y las flags de la cookie de sesión.

HTTPS, TLS y contenido mixto

Redirect faltante, certificado por vencer, TLS obsoleto y recursos HTTP dentro de una página HTTPS.

CORS y Web Storage

Origen comodín (con y sin credenciales) y token de sesión guardado donde cualquier script lo alcanza.

DNS de correo

SPF y DMARC ausentes — el hueco que casi ningún escáner de apps mira, y que se vuelve phishing en tu nombre.

Librerías con fallas conocidas

jQuery, lodash, axios, Handlebars y otras: cruzamos la versión que tu sitio carga con fallas públicas ya corregidas.

Clasificación y prioridad

Cada hallazgo sale con OWASP Top 10, CWE, esfuerzo estimado y una señal de protección de datos cuando hay dato personal en riesgo.

«¿No puedo pedirle esto a mi IA?»

Para la mitad de las cosas, sí — y no vamos a fingir lo contrario. Si el informe dice que falta una cabecera de seguridad, la pegas en tu asistente y se resuelve. Por eso el escaneo y la lista de fallas son gratis.

Lo que no puede es mirar tu app publicada. No sabe cuál clave se filtró ni en qué archivo dentro de un bundle de un megabyte. No sabe cuáles tablas de tu base responden sin autenticación. Y, sobre todo, no puede confirmar que la corrección llegó a producción — cree que corrigió, que no es lo mismo.

Esa es la diferencia que cobramos: la prueba de dónde está, y la prueba de que se cerró.

Un precio por profundidad. Sin letra pequeña.

Pagas por qué tan profundo quieres llegar — cada nivel incluye el anterior. Pago único, sin plan, sin suscripción.

Escaneo gratis · US$ 0 sin registro, sin tarjeta

Nota de 0 a 100 de tu app · La lista completa de fallas, por gravedad · Clasificación OWASP, CWE y señal de protección de datos · Plan de acción priorizado, con estimación de tiempo

Disponible

Público

US$ 19,90 / sitio

La home y todas las páginas públicas — más todo lo que el navegador descarga (bundles, configs). Ahí es donde aparece la mayoría de las fugas de apps hechas con IA.

  • Dónde está cada falla — archivo, línea, endpoint
  • Causa, impacto y código antes/después
  • Prompt de corrección por asistente (Claude Code, Cursor, Lovable, Windsurf)
  • Retest incluido por 7 días
  • Informe exportable a Markdown y PDF
Muy pronto

+ Usuario

US$ 49,90 / sitio

Todo lo del Público + el área con sesión de usuario. Creas una cuenta de prueba; la ejecutamos en una sesión aislada y la borramos después.

  • Todo del nivel Público
  • Páginas y acciones del usuario con sesión
  • Datos de un usuario accesibles por otro (IDOR)
  • Fallas de permiso dentro de la cuenta
Muy pronto

+ Admin

US$ 99,90 / sitio

La auditoría completa: todo lo de los niveles anteriores + el panel de admin y la prueba más valiosa de todas.

  • Todo de los niveles Público y Usuario
  • Panel de admin y acciones privilegiadas
  • Escalada de privilegios: un usuario común llegando a lo que es solo del admin
  • Control de acceso roto entre roles

El primer escaneo es gratis — solo pagas si quieres la prueba y la corrección.

Sin registro y sin tarjeta. El análisis tarda unos minutos — es un navegador de verdad abriendo tu app.

Cuándo vale la pena correrlo

Antes de mostrárselo a alguien

El momento en que la app deja de ser solo tuya es el momento en que su superficie empieza a valer algo para un extraño.

Después de tocar login o base

Permisos, sesión e integraciones son justo donde el asistente de código improvisa cuando no miras.

En la entrega a un cliente

Un informe con evidencia y retest cambia la conversación: entregas software con un peritaje, no con una promesa.

En cada deploy que importa

La superficie cambia con el código. Lo que estaba cerrado la semana pasada pudo reabrirse ayer.

Preguntas

Alcance, seguridad, corrección y cobro — sin letra chica.

¿Tengo que instalar algo o dar acceso a mi código?

No. Scanfull mira la app publicada, desde afuera, como cualquier visitante: abre las páginas en un navegador de verdad, lee los archivos que el sitio entrega y consulta el DNS del dominio. Sin plugin, sin SDK, sin acceso al repositorio y sin cambiar una línea de tu proyecto.

¿El escaneo toca mi app? ¿Puede tirar algo abajo?

No escribe nada. Los chequeos de superficie solo observan respuestas. Los chequeos que interactúan de verdad con el sistema — como la prueba de RLS — solo corren después de que demuestras que el dominio es tuyo, y aun así son de lectura.

Mi app se hizo con Lovable / Cursor / Bolt / v0. ¿Funciona?

Funciona, y es justo el caso para el que Scanfull fue hecho. Como analizamos lo que está publicado, la herramienta que generó el código no importa. Lo que cambia es la salida: el prompt de corrección viene en el formato del asistente que usas.

Si el informe muestra los problemas, ¿mi IA no puede corregirlos sola?

Para los fáciles, puede — y está bien, el escaneo gratis existe para eso. Lo que tu IA no puede es mirar la app publicada: no sabe cuál clave se filtró ni en qué archivo, no sabe cuáles tablas de la base están abiertas, y no puede confirmar que la corrección llegó a producción. Eso es lo que vendemos.

¿Qué trae exactamente el informe completo?

La ubicación de cada falla con la evidencia, la causa raíz y el impacto, el código antes y después, el prompt de corrección para tu asistente, la instrucción de cómo verificar que se cerró, el retest incluido y el informe exportable a Markdown o PDF.

¿Cómo funciona el retest?

Después de corregir, disparas la segunda pasada en la misma dirección. Comparamos hallazgo por hallazgo por la huella de cada uno y te decimos qué salió de la lista, qué sigue y qué apareció después. Está incluido en lo que pagaste, dentro de siete días.

¿Guardan las claves que encuentran?

Nunca en texto claro. Apenas se detecta un secreto, se enmascara antes de guardar nada — lo que queda en la base es la versión enmascarada y un hash, que sirve para reconocer la misma clave en un escaneo futuro. Es una regla del producto, verificada por una prueba automatizada y por una restricción en la propia base de datos.

¿Puedo escanear el sitio de un cliente?

Solo con su autorización. La parte de superficie es lo que cualquier visitante ve, pero los chequeos que interactúan con el sistema exigen verificación del dominio, justamente para que nadie pruebe lo que no debe. Si eres agencia o software house, verifica el dominio junto con el cliente y el informe sale listo para entregar.

Descubrirlo ahora cuesta unos minutos.

Descubrirlo después suele costar el cliente que confió en ti.

Sin registro y sin tarjeta. El análisis tarda unos minutos — es un navegador de verdad abriendo tu app.

scanfull

Scanfull — auditoría de seguridad para apps hechas con IA — Scanfull