# Presentamos el Escáner de Seguridad de Sitios de AfterPack

Una herramienta gratuita que te muestra exactamente lo que tu sitio web expone — secretos filtrados, código fuente desprotegido y más. Escanea cualquier sitio en segundos.

Source: https://www.afterpack.dev/es/blog/announcing-site-scanner

Published: 2026-03-01 · Author: Nikita Savchenko · Tags: announcement, security

Hoy lanzamos [AfterPack Site Security Scanner](https://www.afterpack.dev/security-scanner) — una herramienta gratuita que rastrea tu sitio web con un navegador real y te dice exactamente lo que estás exponiendo al mundo. Pruébalo en el navegador o ejecuta [`npx afterpack audit <url>`](https://www.npmjs.com/package/afterpack) desde la terminal.

## Lo Que Tu Sitio Web Le Muestra a Todos

Esto es algo en lo que la mayoría de los desarrolladores no piensan: cada archivo JavaScript que publicas es público. Cada script en línea, cada etiqueta de terceros, cada source map que tu herramienta de build genera silenciosamente. Todo está ahí, esperando ser leído.

Y no solo es legible — es _buscable_. Escáneres automatizados recorren la web constantemente, buscando API keys dejadas en bundles de cliente, source maps que sirven tu árbol de proyecto completo, lógica de negocio desprotegida que un competidor puede estudiar en una tarde. Los modelos de IA ahora pueden resumir y explicar código minificado en segundos, convirtiendo la "seguridad por oscuridad" en ninguna seguridad en absoluto.

Hemos visto claves de AWS en bundles de producción. Tokens [JWT](https://jwt.io/) codificados directamente en flujos de autenticación. Cadenas de conexión a bases de datos incrustadas en archivos de configuración del lado del cliente. Source maps completos exponiendo nombres de archivos originales, estructuras de directorios y comentarios que nunca debieron salir del servidor de build.

Puede que no sepas que esto está ocurriendo en tu sitio. Construimos una herramienta para que puedas averiguarlo.

## Qué Verifica el Escáner

El escáner analiza tu sitio en siete dimensiones, cada una produciendo hallazgos específicos con niveles de severidad. Esto es lo que busca cada módulo — con ejemplos de hallazgos reales.

### Detección de Secretos

Escanea cada archivo JavaScript y source map en busca de credenciales expuestas — claves de acceso de AWS, secretos de Stripe, tokens de [GitHub](https://github.com), URLs de bases de datos, JWTs y otros 18 tipos de patrones. Los hallazgos se redactan automáticamente para que compartir los resultados sea seguro.

- **AWS Access Key Detected** (secrets, critical) — An AWS access key was found in the JavaScript bundle. Value: `AKIA...............7X9Q`. Found in: https://example.com/_next/static/chunks/app/page-a3f8.js
- **Stripe Secret Key** (secrets, high) — A Stripe API key was found in the JavaScript bundle. Value: `sk_live_51N...............8dFq`. Found in: https://example.com/assets/checkout-d41f.js
- **JWT Token** (secrets, high) — A JWT token was found hardcoded in the source. Value: `eyJh..........................E2MjN9`. Found in: https://example.com/static/js/auth-7cb2.js
- **Database Connection String** (secrets, critical) — A database URL was found in the JavaScript bundle. Value: `postgres://admin:...@db.internal:5432/prod`. Found in: sourcemap://src/lib/config.ts

### Nivel de Protección

Clasifica cada script como ofuscado, minificado, desprotegido o con código fuente expuesto. Si tu build está enviando código legible con nombres de variables originales, lo verás aquí.

### Legibilidad del Código

Mide qué tan fácilmente la IA puede entender tu código, evaluado según densidad de palabras clave, exposición de strings, legibilidad de identificadores, claridad estructural y señales de formato. Una puntuación alta de legibilidad significa que tu lógica es un libro abierto.

### Patrones Peligrosos

Detecta el uso de [eval()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval), constructores `Function()`, `document.write()`, asignación directa de `innerHTML` y otros patrones que amplían tu superficie de ataque. También detecta source maps accesibles públicamente y archivos de configuración expuestos.

- **Source Map Publicly Accessible** (patterns, critical) — A source map file is publicly accessible, exposing original source code. Value: `https://example.com/assets/app.js.map`. Found in: https://example.com/assets/app-8f2a.js
- **eval() Usage Detected** (patterns, high) — Use of eval() allows arbitrary code execution. Value: `eval(atob(config.payload))`. Found in: https://example.com/static/js/main-3dc1.js
- **Exposed Configuration File** (patterns, critical) — A .env file is publicly accessible on the server. Value: `https://example.com/.env`. Found in: https://example.com/.env
- **innerHTML Assignment** (patterns, medium) — Direct innerHTML assignment can lead to XSS vulnerabilities. Value: `el.innerHTML = userContent`. Found in: https://example.com/static/js/render-f19a.js

### Detección del Stack Tecnológico

Identifica frameworks y bibliotecas — [React](https://react.dev), [Angular](https://angular.dev), [Vue](https://vuejs.org), [Next.js](https://nextjs.org), [jQuery](https://jquery.com) y más — incluyendo números de versión cuando es posible. Saber qué estás ejecutando es el primer paso; saber que _todos los demás_ pueden ver qué estás ejecutando es el segundo.

### Análisis de Terceros

Mapea cada dominio externo desde el cual tu sitio carga recursos — scripts, fuentes, hojas de estilo, píxeles de rastreo, endpoints de API. Cada uno es una dependencia que no escribiste y que no puedes controlar.

### Composición del Bundle

Detecta bibliotecas incluidas en el bundle y verifica [CVEs](https://cve.mitre.org) conocidos. Si estás enviando una versión de jQuery o lodash con una vulnerabilidad publicada, el escáner lo señalará.

## Cómo Funciona

Esto no es un analizador estático que obtiene tu HTML y da por terminado el día. El escáner utiliza [Cloudflare Browser Rendering](https://developers.cloudflare.com/browser-rendering/) para cargar tu sitio en un navegador real, ejecutar JavaScript y capturar cada recurso que se carga — incluyendo scripts inyectados dinámicamente y bundles de carga diferida.

Los resultados se transmiten en tiempo real vía [SSE](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events). Verás los hallazgos aparecer a medida que cada módulo completa su análisis, con una puntuación de seguridad que se actualiza progresivamente de 0 a 100. Sin esperar a que se genere un informe completo — estás viendo el escaneo en vivo.

## Es Gratis. Sin Registro.

Ingresa una URL. Obtén los resultados. Eso es todo.

Sin cuenta, sin email, sin API key. El escáner es completamente gratuito. Lo construimos porque creemos que cada desarrollador debería poder ver lo que su sitio expone — sin fricción.

## O Usa el CLI

¿Prefieres la terminal? El CLI [`afterpack`](https://www.npmjs.com/package/afterpack) incluye el mismo escáner — un comando, sin necesidad de navegador. Necesitarás [Node.js](https://nodejs.org) instalado (`npx` viene incluido):

```bash
npx afterpack audit https://example.com
```

```
  AfterPack v0.3.0 — Security Analyzer

  Scanning https://example.com ...

  ✓ Fetching page
  ✓ Rendering JavaScript
  ✓ Analyzing resources

  ⚠  CRITICAL: AWS Access Key Detected
  ⚠  HIGH: Source Map Publicly Accessible

  ┌─────────────────────────────────────────────┐
  │ Score: 38/100                                                          │
  │                                                                        │
  │ Resources      12 found (4 unprotected, 2 source exposed)              │
  │ Findings       7 issues (1 critical, 2 high, 4 medium)                 │
  │ Tech Stack     React, Next.js, Webpack                                 │
  │ Readability    74/100                                                  │
  └─────────────────────────────────────────────┘

  ⚠  1 critical finding:
     AWS Access Key Detected (AKIA...7X9Q in app/page-a3f8.js)

  Full report: https://afterpack.dev/security-scanner/abc123
```

Incorpóralo en CI o ejecútalo antes de cada despliegue — detecta secretos expuestos antes de que se publiquen.

## Escanea Tu Sitio

En serio — [pruébalo](https://www.afterpack.dev/security-scanner) en el navegador, o ejecuta `npx afterpack audit <tu-url>` en la terminal. Revisa la pestaña de secretos. Mira tus niveles de protección. Observa cuántos dominios de terceros están cargando scripts en tus páginas.

Si todo se ve limpio, genial. Estás por delante de la mayoría.

Si no te gusta lo que ves — eso es exactamente por lo que construimos [AfterPack](https://afterpack.dev). El escáner te muestra el problema. AfterPack es la solución para la parte del código fuente: reescribe tu bundle para que leerlo, clonarlo o dárselo a un modelo cueste mucho más de lo que cuesta hoy. Con el preset predeterminado, el bundle comprimido con gzip queda entre 1,9 y 2,4 veces su tamaño original; la [página de rendimiento](https://www.afterpack.dev/docs/performance) tiene las cifras medidas.

---

El escáner está disponible ahora en [afterpack.dev/security-scanner](https://www.afterpack.dev/security-scanner). O ejecuta `npx afterpack audit <url>` desde cualquier terminal — está en [npm](https://www.npmjs.com/package/afterpack).

Si quieres proteger lo que el escáner encuentra, AfterPack ya está disponible: comienza con la [guía de inicio rápido](https://www.afterpack.dev/docs/quickstart).

— [Nikita](https://nikitaeverywhere.com)
