El problema: tu sitio web tiene secretos que no sabes que tiene
Cuando construyes un sitio web o una aplicación, dejas rastros. Claves de API en el código fuente. Archivos de configuración en directorios públicos. Dependencias npm con vulnerabilidades conocidas. Logs con datos de clientes. Backups en rutas predecibles. Todo eso está ahí, visible para cualquiera que sepa dónde mirar.
No es un problema de empresas pequeñas. Es un problema de todos. Un desarrollador deja una clave de API de OpenAI en un archivo JavaScript del frontend. Un CMS genera un archivo wp-config.php con credenciales de base de datos en un directorio accesible. Una dependencia npm tiene una vulnerabilidad que permite ejecución remota de código. Nadie lo nota hasta que alguien lo explota.
El blog de Personnn ya publicó un artículo sobre cómo auditar WordPress y detectar claves de API expuestas (16 visitas en 7 días). Este artículo va más allá: cubre todos los tipos de exposición que puede tener tu sitio, no solo WordPress.
Lo que dicen los datos
Tráfico de personnn.com (21-27 oct 2026): La página /higiene creció un 400% (de 1 a 5 visitas) y /npmsecure creció un 300% (de 1 a 4 visitas) en la última semana. Esto indica un interés creciente en herramientas de higiene web y seguridad de dependencias.
SEK "Think Ahead" (2025): Chile enfrentó 8,8 billones de intentos de ciberataque en 2025. De ese total, 5 billones fueron escaneos activos (no ataques exitosos). La fuente primaria es SEK (Security Ecosystem Knowledge), reporte "Think Ahead" (datos 2025), publicado en rga.cl (Pulso/La Tercera) el 1 de julio de 2026. También atribuido a FortiGuard Labs/Fortinet.
Ley 21.719 (vigente desde 1 de diciembre de 2026): Exige que las empresas protejan los datos personales de sus clientes. Si tu sitio web expone datos de clientes (por un archivo de log, un backup o una clave de API), estás violando la ley.
Columna de opinión, BioBioChile (21 julio 2026): Un 16% de las brechas de seguridad involucran delincuentes que usan IA. Esta cifra proviene de una columna de opinión y no se pudo verificar la metodología ni la fuente primaria. Se trata como estimación no verificada.
La conclusión es que la higiene web (limpiar tu sitio de secretos expuestos, archivos sensibles y dependencias vulnerables) no es opcional. Es una obligación legal y operativa.
Los 6 tipos de exposición que todo sitio web tiene
1. Claves de API expuestas en el frontend
El error más común. Un desarrollador pone una clave de API de OpenAI, Stripe, AWS o Google Maps en un archivo JavaScript que se envía al navegador. Cualquiera que abra las herramientas de desarrollador del navegador puede ver la clave y usarla.
Cómo detectarlo: Busca en el código fuente de tu sitio (Ctrl+U en el navegador) cadenas como "sk-", "pk_", "AKIA", "AIza", "ghp_", "xoxb-". Si encuentras una clave, está expuesta.
Cómo prevenirlo: Las claves de API nunca deben estar en el frontend. Deben estar en el backend, en variables de entorno, y el frontend debe llamar a tu propio servidor, que a su vez llama a la API externa.
2. Archivos de configuración en directorios públicos
Archivos como .env, wp-config.php, config.json, settings.py contienen credenciales de base de datos, claves de API y secretos. Si están en un directorio público (como /public_html/ o /var/www/html/), cualquiera puede descargarlos.
Cómo detectarlo: Intenta acceder a tusitio.com/.env, tusitio.com/wp-config.php, tusitio.com/config.json. Si el archivo se descarga o muestra su contenido, está expuesto.
Cómo prevenirlo: Mueve los archivos de configuración fuera del directorio público. Configura el servidor web para bloquear el acceso a archivos sensibles (.env, .git, .config). Usa variables de entorno del sistema operativo en vez de archivos.
3. Dependencias npm con vulnerabilidades
Tu sitio usa paquetes npm (React, Next.js, Express, etc.) que a su vez dependen de otros paquetes. Algunos de esos paquetes tienen vulnerabilidades conocidas (CVEs) que permiten ejecución remota de código, inyección SQL o robo de datos.
Cómo detectarlo: Ejecuta npm audit en tu proyecto. Te dirá qué dependencias tienen vulnerabilidades y cómo corregirlas.
Cómo prevenirlo: Ejecuta npm audit regularmente. Actualiza las dependencias cuando haya parches de seguridad. Usa herramientas como Dependabot o Snyk para monitorear vulnerabilidades automáticamente.
4. Archivos .git expuestos
Si tu repositorio Git está en un directorio público, cualquiera puede descargar el historial completo de tu código, incluyendo versiones anteriores que contenían claves de API o datos sensibles.
Cómo detectarlo: Intenta acceder a tusitio.com/.git/config. Si muestra el contenido del archivo, tu repositorio está expuesto.
Cómo prevenirlo: Mueve el directorio .git fuera del directorio público. Configura el servidor web para bloquear el acceso a directorios ocultos (.git, .svn, .hg).
5. Logs con datos de clientes
Los logs de tu aplicación guardan todo: consultas, respuestas, errores, datos de usuarios. Si los logs están en un directorio público o no están protegidos, cualquiera puede leerlos.
Cómo detectarlo: Busca archivos .log en tu sitio: tusitio.com/debug.log, tusitio.com/error.log, tusitio.com/access.log. Si se descargan, están expuestos.
Cómo prevenirlo: Mueve los logs fuera del directorio público. Configura el nivel de logging para excluir datos sensibles. Rota los logs periódicamente. Encripta los logs en reposo.
6. Backups en rutas predecibles
Los backups de tu sitio (archivos .zip, .tar.gz, .sql) a menudo se guardan en rutas predecibles como /backup/, /bak/, /old/, /tmp/. Si están en un directorio público, cualquiera puede descargarlos y obtener una copia completa de tu base de datos.
Cómo detectarlo: Busca archivos comunes de backup: tusitio.com/backup.zip, tusitio.com/db.sql, tusitio.com/old/. Si se descargan, están expuestos.
Cómo prevenirlo: Guarda los backups fuera del directorio público. Usa nombres aleatorios para los archivos de backup. Elimina los backups antiguos. Configura el servidor web para bloquear el acceso a extensiones de backup (.zip, .sql, .tar.gz, .bak).
El checklist de higiene web
Nivel 1: Lo básico (hazlo hoy)
- Busca claves de API en tu código fuente: Abre las herramientas de desarrollador del navegador (F12) y busca en el código fuente. Si encuentras una clave, quítala inmediatamente y revócala.
- Verifica archivos sensibles: Intenta acceder a
tusitio.com/.env,tusitio.com/.git/config,tusitio.com/wp-config.php. Si se descargan, bloquea el acceso. - Ejecuta npm audit: Si tu sitio usa npm, ejecuta
npm audity corrige las vulnerabilidades críticas. - Revisa los logs: Verifica que los logs no estén en un directorio público y no contengan datos sensibles.
Nivel 2: Lo importante (hazlo esta semana)
- Configura el servidor web: Bloquea el acceso a archivos sensibles (.env, .git, .config, .log, .sql, .zip, .bak). Configura headers de seguridad (X-Frame-Options, X-Content-Type-Options, Strict-Transport-Security).
- Mueve archivos fuera del directorio público: Archivos de configuración, logs y backups deben estar fuera del directorio que sirve el servidor web.
- Actualiza dependencias: Actualiza los paquetes npm a las últimas versiones estables. Programa actualizaciones regulares.
- Revisa permisos de archivos: Asegúrate de que los archivos de configuración tengan permisos restrictivos (600 o 640, no 644 o 777).
Nivel 3: Lo avanzado (hazlo este mes)
- Implementa monitoreo de secretos: Usa herramientas como GitLeaks, TruffleHog o detect-secrets para escanear tu código en busca de claves expuestas automáticamente.
- Configura Dependabot o Snyk: Monitorea vulnerabilidades en tus dependencias automáticamente y recibe alertas cuando haya parches.
- Haz una auditoría de seguridad: Contrata a un profesional o usa una herramienta automatizada (como Personnn Servicios) para escanear tu sitio completo.
- Documenta tu política de seguridad: Define qué datos se pueden almacenar, cómo se protegen y quién tiene acceso. Capacita a tu equipo.
El trade-off: auditoría manual vs. herramienta automatizada
| Aspecto | Auditoría manual | Herramienta automatizada (Personnn) |
|---|---|---|
| Cobertura | Limitada a lo que el auditor busca | Exhaustiva (escanea todo el sitio) |
| Velocidad | Lenta (horas o días) | Rápida (minutos) |
| Coste | Alto (profesional de seguridad) | Bajo (diagnóstico gratuito) |
| Frecuencia | Puntual (una vez) | Continua (monitoreo constante) |
| Precisión | Alta (juicio humano) | Alta (reglas y patrones) |
| Escalabilidad | No escala | Escala con el sitio |
| Requiere conocimiento técnico | Sí | No |
Qué hace Personnn
Personnn tiene productos y servicios que ayudan a mantener la higiene web de tu sitio:
Servicios (diagnóstico gratuito): Pega la dirección de tu sitio en personnn.com/servicios y obtén un diagnóstico pasivo que no toca tu servidor. Detecta claves expuestas, archivos sensibles, dependencias vulnerables y configuraciones inseguras. El diagnóstico es gratuito y no requiere instalación.
Higiene: Herramienta de higiene web que monitorea tu sitio continuamente y te alerta cuando se detecta una exposición. Escanea claves de API, archivos sensibles, configuraciones inseguras y más.
npmsecure: Herramienta específica para seguridad de dependencias npm. Escanea tu proyecto en busca de paquetes con vulnerabilidades conocidas y te sugiere actualizaciones.
Inference y ModelForge: Si usas IA en tu sitio, los modelos corren en tu propia infraestructura. Las claves de API de los modelos no están expuestas porque no hay claves: el modelo es local.
Para empezar, entra a personnn.com/servicios y pega la dirección de tu sitio. El diagnóstico es gratuito y no toca tu servidor.
Fuentes
- Tráfico de personnn.com (21-27 oct 2026): /higiene creció 400% (de 1 a 5 visitas), /npmsecure creció 300% (de 1 a 4 visitas). Fuente interna (marketing_trafico).
- SEK "Think Ahead" (2025): 8,8 billones de intentos de ciberataque en Chile 2025. Fuente primaria: SEK (Security Ecosystem Knowledge). Publicado en rga.cl (Pulso/La Tercera) el 1 de julio de 2026. También atribuido a FortiGuard Labs/Fortinet. Verificado por web_fetch (vuelta 16).
- Ley 21.719: vigente desde el 1 de diciembre de 2026. Protección de datos personales en Chile. Fuente: tramitacion.senado.cl + varelaabogados.cl + boostify.cl + tline.cl. Verificado por web search (vuelta 16).
- BioBioChile (21 julio 2026): columna de opinión sobre brechas de seguridad con IA. La cifra del 16% se trata como estimación no verificada. Verificado por web search (vuelta 16).
- Blog de Personnn: "Cómo auditar WordPress y detectar claves de API expuestas en producción" (16 visitas en 7 días). Fuente interna.
- Las cifras de "400%" y "300%" de crecimiento son relativas a bases muy pequeñas (de 1 a 5 visitas y de 1 a 4 visitas). Se tratan como indicadores de tendencia, no como datos estadísticamente significativos.