
Encontrar vulnerabilidades ya no depende únicamente de revisiones manuales, pentesting puntual o auditorías al final del proyecto. Hoy es posible automatizar gran parte del análisis de seguridad usando herramientas open source, pipelines DevSecOps e Inteligencia Artificial para revisar código, dependencias, contenedores, secretos, infraestructura como código, APIs y aplicaciones web.
La clave está en combinar técnicas. Una sola herramienta no basta. SAST revisa código fuente, SCA analiza dependencias, secret scanning detecta claves filtradas, container scanning revisa imágenes, IaC scanning valida configuraciones, DAST prueba aplicaciones en ejecución y la IA ayuda a priorizar, explicar, correlacionar hallazgos y proponer correcciones. OWASP ASVS recuerda que la seguridad de aplicaciones requiere requisitos verificables y controles técnicos, no solo una lista superficial de errores.
Idea central: la IA no reemplaza a las herramientas de seguridad ni al criterio humano. Su mayor valor está en acelerar la revisión, reducir falsos positivos, explicar riesgos, generar reglas, sugerir parches y ayudar a los equipos a corregir más rápido.
1. Qué significa encontrar vulnerabilidades automáticamente
Automatizar la detección de vulnerabilidades significa integrar controles de seguridad en el flujo normal de desarrollo y operación. El análisis debe ejecutarse en la computadora del desarrollador, en cada commit, en cada pull request, en el pipeline CI/CD, antes de desplegar contenedores y también sobre sistemas en ejecución.
GitHub CodeQL, por ejemplo, permite analizar código mediante consultas de seguridad; GitHub señala que sus consultas predeterminadas son mantenidas por expertos, investigadores y la comunidad, y que las consultas son open source en el repositorio github/codeql. OSV-Scanner conecta las dependencias de un proyecto con vulnerabilidades conocidas en la base OSV, mientras Trivy permite encontrar CVE, malas configuraciones, secretos y SBOM en repositorios, contenedores, Kubernetes y nubes.
| Tipo de análisis | Qué detecta | Herramientas open source |
|---|---|---|
| SAST | Errores en código fuente antes de ejecutar la aplicación. | Semgrep, CodeQL, Bandit. |
| SCA | Dependencias vulnerables y paquetes con CVE. | OSV-Scanner, Trivy. |
| Secret scanning | Tokens, claves API, contraseñas y credenciales filtradas. | Gitleaks, Trivy. |
| Container / IaC scanning | Imágenes vulnerables, Dockerfiles inseguros, Kubernetes y Terraform mal configurados. | Trivy. |
| DAST / templates | Problemas en aplicaciones, APIs, redes, DNS, cloud y servicios expuestos. | Nuclei. |
| IA para AppSec | Priorización, explicación, reproducción, revisión de parches y análisis contextual. | Mantis, Semgrep AI-assisted, agentes locales controlados. |
2. Dónde entra la Inteligencia Artificial
La IA no debe usarse como un “oráculo” que declara si una aplicación es segura. Debe actuar como asistente de revisión. Puede leer hallazgos, buscar rutas de explotación en el código, explicar impacto, sugerir correcciones, generar pruebas unitarias, crear reglas Semgrep o plantillas Nuclei, y revisar si un parche realmente elimina la causa raíz.
Google publicó Mantis, un toolkit modular para agentes de codificación orientado a encontrar, reproducir y parchear vulnerabilidades. Su repositorio advierte que los agentes deben pedir aprobación humana antes de ejecutar comandos sensibles y que los reportes generados por IA no deben enviarse masivamente a mantenedores sin verificación.
Regla práctica: usa IA para acelerar investigación y corrección, pero exige evidencia: archivo, línea, flujo vulnerable, prueba de reproducción, impacto, falso positivo descartado y parche revisado.
3. Flujo recomendado: de código a producción
El flujo ideal no espera al final del proyecto. Primero se revisa el código localmente; luego se valida el pull request; después se analiza el contenedor; finalmente se escanea la aplicación desplegada en un entorno autorizado. La IA puede intervenir en cada etapa, pero siempre dentro de límites.
4. Semgrep: reglas rápidas para código vulnerable
Semgrep es una herramienta muy útil para análisis estático porque permite escribir reglas por patrones de código. Sirve para detectar SQL injection, XSS, uso inseguro de criptografía, comandos del sistema con entrada no validada, secretos, malas prácticas y patrones internos de una organización. La página de NIST sobre analizadores de código fuente incluye Semgrep como herramienta de análisis estático para encontrar errores, bugs lógicos y vulnerabilidades de seguridad.
Semgrep también ha incorporado capacidades asistidas por IA en su plataforma, como priorización, análisis LLM-backed y detección de riesgos en código generado por asistentes. Semgrep documenta flujos donde ejecuta análisis estático, SCA, detección de secretos y análisis respaldado por LLM para problemas como IDOR y fallos de autorización.
Dónde ayuda la IA con Semgrep
- Explicar hallazgos: convertir alertas técnicas en impacto comprensible.
- Reducir falsos positivos: revisar si la ruta vulnerable realmente es alcanzable.
- Generar reglas internas: detectar patrones propios de la organización.
- Proponer parches: sugerir correcciones compatibles con el estilo del proyecto.
- Crear pruebas: validar que el bug no regrese.
5. CodeQL: consultar el código como si fuera una base de datos
CodeQL permite construir una base de datos semántica del código y ejecutar consultas para encontrar vulnerabilidades. La documentación oficial indica que las consultas CodeQL se usan en análisis de code scanning para encontrar problemas en el código fuente, incluyendo potenciales vulnerabilidades de seguridad.
Su gran ventaja es que puede encontrar flujos complejos: entrada del usuario, transformación de datos, paso por funciones intermedias y llegada a un punto peligroso. Es muy útil para vulnerabilidades como inyección, path traversal, XSS, uso inseguro de deserialización o manejo incorrecto de datos sensibles.
La IA puede leer resultados SARIF, agrupar hallazgos repetidos, explicar la ruta vulnerable y proponer un orden de corrección. Pero la evidencia técnica sigue viniendo del análisis estático y de la revisión humana.
6. OSV-Scanner: detectar dependencias vulnerables
Muchas vulnerabilidades no están en el código escrito por el equipo, sino en dependencias. OSV-Scanner es el frontend oficial para la base OSV y conecta la lista de dependencias de un proyecto con vulnerabilidades que las afectan. Su documentación indica que cubre múltiples ecosistemas open source y puede escanear código fuente y lockfiles para detectar vulnerabilidades en dependencias.
La IA puede ayudar a responder tres preguntas: si la dependencia vulnerable realmente se usa, si existe actualización segura compatible y qué pruebas deberían ejecutarse después de actualizar.
7. Trivy: contenedores, repositorios, Kubernetes, IaC y SBOM
Trivy es una de las herramientas open source más completas para seguridad de contenedores y repositorios. Su sitio oficial lo describe como un scanner todo-en-uno para encontrar CVE y malas configuraciones en repositorios, artefactos binarios, imágenes de contenedor y clusters Kubernetes.
La documentación de Trivy también indica que puede generar SBOM para imágenes de contenedor y buscar SBOM durante escaneos de vulnerabilidades. Esto es importante porque una organización no puede proteger lo que no conoce: el SBOM permite inventariar componentes y dependencias.
8. Gitleaks: encontrar secretos antes de que lleguen a producción
Las credenciales filtradas son una de las fallas más peligrosas y frecuentes. Gitleaks está diseñado para encontrar secretos en repositorios, directorios y archivos. Su repositorio oficial lo presenta como una herramienta para “find secrets” y permite escanear repositorios Git, además de integrarse con pre-commit y acciones de CI/CD.
Advertencia: si una clave aparece en Git, no basta con borrarla del archivo. Debe rotarse inmediatamente, revisar historial, invalidar tokens, verificar accesos y documentar el incidente.
9. Bandit: análisis automático para proyectos Python
Si trabajas con Python, Bandit es una herramienta directa y útil. Su documentación oficial indica que está diseñada para encontrar problemas comunes de seguridad en código Python, procesando archivos, construyendo el AST y ejecutando plugins contra los nodos del árbol sintáctico.
La IA puede transformar los hallazgos de Bandit en una lista priorizada: qué corregir primero, qué falso positivo descartar, qué prueba agregar y qué patrón de codificación segura adoptar.
10. Nuclei: escaneo dinámico con plantillas
Nuclei es un scanner rápido basado en plantillas YAML para aplicaciones, APIs, redes, DNS y configuraciones cloud. ProjectDiscovery lo describe como un scanner diseñado para probar aplicaciones modernas, infraestructura, plataformas cloud y redes, ayudando a identificar vulnerabilidades explotables.
Las plantillas son el núcleo de Nuclei. La documentación explica que definen solicitudes específicas para comprobar vulnerabilidades con baja tasa de falsos positivos y que pueden compartirse como archivos YAML. La herramienta también incorpora generación de plantillas con IA a partir de descripciones en lenguaje natural, lo que puede ayudar a crear pruebas reproducibles para vulnerabilidades propias, siempre dentro de entornos autorizados.
Límite ético y legal: el escaneo dinámico debe ejecutarse solo sobre sistemas propios, laboratorios o activos donde exista autorización formal. Automatizar pruebas contra terceros sin permiso puede ser ilegal.
11. Mantis: agentes de IA para revisión de seguridad
Mantis, publicado por Google, propone un conjunto modular de habilidades para agentes de codificación orientadas a revisión de seguridad: modelado de amenazas, investigación, deduplicación, revisión, reproducción, encadenamiento, parcheo y reporte. Google Cloud explicó que las capacidades centrales de Mantis fueron abiertas como demostración del concepto y que el enfoque busca reducir el análisis bruto de código mediante un árbol jerárquico de resúmenes de seguridad.
Su valor está en usar la IA como investigador controlado, no como atacante autónomo sin límites. La documentación de Mantis recomienda envolver las habilidades en pipelines deterministas para entornos empresariales y configurar límites de seguridad para que el agente no escape fácilmente del entorno.
Cómo usar IA de forma segura en AppSec
- Usar repositorios clonados: no trabajar directo sobre producción.
- Ejecutar en sandbox: sin secretos reales ni acceso amplio a red.
- Requerir aprobación humana: especialmente antes de ejecutar comandos o modificar archivos.
- Registrar trazas: prompts, archivos leídos, comandos sugeridos y parches.
- Verificar hallazgos: no reportar vulnerabilidades generadas por IA sin reproducción.
- Revisar parches: un parche automático puede romper funcionalidad o tapar solo el síntoma.
12. Qué vulnerabilidades puedes detectar automáticamente
Las herramientas automatizadas funcionan muy bien para ciertas familias de vulnerabilidades, pero no para todas. Son fuertes detectando patrones conocidos, dependencias vulnerables, secretos, configuraciones inseguras y errores repetibles. Son más débiles en lógica de negocio compleja, autorización contextual, abuso de flujos, fraude o decisiones funcionales que requieren entender el negocio.
| Vulnerabilidad | Herramientas útiles | Rol de la IA |
|---|---|---|
| SQL Injection. | Semgrep, CodeQL, Nuclei. | Explicar flujo, sugerir consultas parametrizadas y pruebas. |
| XSS. | Semgrep, CodeQL, Nuclei. | Identificar fuentes/sinks y recomendar escape o sanitización. |
| Dependencias vulnerables. | OSV-Scanner, Trivy. | Priorizar por uso real y proponer actualización segura. |
| Secretos filtrados. | Gitleaks, Trivy. | Generar plan de rotación y revisión de impacto. |
| Malas configuraciones Docker/Kubernetes. | Trivy. | Explicar riesgo y proponer manifest seguro. |
| IDOR y autorización rota. | Semgrep avanzado, IA, revisión manual. | Analizar flujo de negocio y generar casos de prueba. |
13. Ejemplo de pipeline CI/CD básico
Una empresa pequeña puede empezar con un pipeline simple: secretos, SAST, dependencias y contenedores. Luego se agregan IA, dashboards, revisión humana y escaneo dinámico en staging.
14. Cómo priorizar hallazgos automáticamente
El error más común es tratar todas las alertas como iguales. Un CVE crítico en una librería no usada puede ser menos urgente que una clave AWS válida filtrada en el repositorio. Una IA bien usada puede correlacionar hallazgos y explicar prioridad, pero la regla de negocio debe ser clara.
Matriz de priorización
- Exposición: ¿está en Internet, red interna o solo laboratorio?
- Explotabilidad: ¿hay prueba real, template, PoC o solo teoría?
- Alcance: ¿afecta datos personales, credenciales, dinero o disponibilidad?
- Reachability: ¿el código vulnerable se ejecuta realmente?
- Compensaciones: ¿hay WAF, autenticación, segmentación o hardening?
- Tiempo de corrección: ¿se corrige con parche simple o requiere rediseño?
15. Prompt útil para analizar resultados con IA
El siguiente prompt sirve para usar IA como analista de seguridad defensiva. Debe alimentarse con resultados JSON/SARIF generados por herramientas, nunca con secretos reales ni información que no pueda procesarse según las políticas de la organización.
16. Controles para que la IA no se vuelva un riesgo
Usar IA para seguridad también introduce riesgos: exposición de código sensible, filtración de secretos, parches incorrectos, falsos positivos convincentes, comandos peligrosos y reportes no verificados. El propio repositorio de Mantis advierte que los reportes de IA deben verificarse antes de enviarse, y recomienda aprobación humana para comandos sensibles.
Riesgos de usar IA sin control
- Falsos positivos convincentes: la IA puede explicar un error inexistente con mucha seguridad.
- Falsos negativos: puede no ver una vulnerabilidad real.
- Exposición de secretos: nunca enviar tokens, claves o datos sensibles sin sanitizar.
- Parches inseguros: puede corregir el síntoma y dejar la causa raíz.
- Comandos peligrosos: todo comando destructivo o dinámico debe requerir aprobación humana.
- Reporte irresponsable: no reportar vulnerabilidades a terceros sin reproducción y autorización.
17. Ruta práctica para implementar en una empresa
Plan en 10 pasos
- Inventariar repositorios: lenguajes, frameworks, dependencias, contenedores y exposición.
- Activar secret scanning: Gitleaks en pre-commit y CI/CD.
- Agregar SAST: Semgrep y CodeQL según lenguaje.
- Agregar SCA: OSV-Scanner para dependencias y lockfiles.
- Escanear contenedores: Trivy image, repo, fs e IaC.
- Crear política de severidad: qué bloquea el pipeline y qué se registra como deuda.
- Usar IA para triage: resumen ejecutivo, explicación y propuesta de parche.
- Validar con humanos: toda alerta crítica debe tener evidencia revisada.
- Probar correcciones: tests unitarios, integración, seguridad y regresión.
- Medir evolución: vulnerabilidades abiertas, tiempo de corrección y reincidencia.
18. Errores comunes al automatizar seguridad con IA
- Creer que IA reemplaza SAST, SCA, DAST y revisión humana.
- Escanear producción sin autorización ni ventana controlada.
- No separar hallazgos reales de falsos positivos.
- No rotar secretos detectados en Git.
- No revisar dependencias transitivas.
- Escanear contenedores, pero no Dockerfiles ni Kubernetes.
- Usar solo CVSS y no considerar exposición real.
- Aceptar parches de IA sin pruebas.
- No generar SBOM ni inventario de componentes.
- No convertir hallazgos en tareas con responsables y fechas.
19. Preguntas clave
¿Se pueden encontrar vulnerabilidades automáticamente con IA?
Sí, pero la IA debe combinarse con herramientas verificables. La detección automática funciona mejor cuando SAST, SCA, secret scanning, container scanning y DAST generan evidencia, y la IA ayuda a priorizar, explicar y corregir.
¿Qué herramienta open source conviene para empezar?
Para un inicio rápido: Gitleaks para secretos, Semgrep para SAST, OSV-Scanner para dependencias y Trivy para contenedores e IaC. Si el proyecto está en GitHub o requiere análisis avanzado, CodeQL es una excelente opción.
¿Nuclei es seguro de usar?
Sí, si se usa de forma responsable sobre activos propios o autorizados. Nuclei está diseñado para escaneo rápido mediante plantillas, pero el escaneo dinámico contra terceros sin permiso puede ser ilegal.
¿La IA puede corregir vulnerabilidades automáticamente?
Puede proponer parches, pero no deben aprobarse sin revisión. Un parche correcto debe tener prueba, revisión humana, análisis de regresión y validación de que elimina la causa raíz.
¿Qué estándar usar como referencia?
OWASP ASVS es una buena base para requisitos verificables de seguridad en aplicaciones web y servicios, porque ofrece controles técnicos que pueden integrarse en el ciclo de desarrollo.
Recomendamos
- Cómo usar Inteligencia Artificial para detectar vulnerabilidades en código Python, JavaScript, Java y C/C++
- Google libera un nuevo framework open source para impedir que agentes de IA introduzcan fallos de seguridad en el código
- Python para ciberseguridad: 20 proyectos prácticos para aprender automatización, redes y análisis de seguridad
- Cómo saber si tu Linux está bien protegido: 30 comprobaciones de seguridad que puedes realizar ahora mismo
- Ciberseguridad en Linux: 50 herramientas gratuitas para proteger servidores y estaciones
En resumen
Encontrar vulnerabilidades automáticamente con Inteligencia Artificial y herramientas open source es posible, pero debe hacerse con método. Semgrep, CodeQL, OSV-Scanner, Trivy, Gitleaks, Bandit y Nuclei cubren diferentes capas del riesgo. La IA agrega valor cuando explica, prioriza, correlaciona y ayuda a corregir, no cuando reemplaza la evidencia técnica.
El mejor enfoque es defensivo y progresivo: empezar con secretos, SAST, dependencias y contenedores; luego agregar DAST en staging, SBOM, reglas personalizadas, revisión asistida por IA y métricas de mejora continua. La automatización no elimina la responsabilidad humana: la hace más rápida, visible y medible.
Conclusión editorial
Desde SomosLibres.org, la próxima generación de seguridad de software no será solo “escáneres automáticos” ni solo “IA revisando código”. Será una combinación disciplinada de herramientas open source, pipelines DevSecOps, evidencia verificable, revisión humana y modelos de IA capaces de ayudar a corregir antes de que el error llegue a producción. La ventaja no estará en encontrar miles de alertas, sino en cerrar primero las que realmente importan.

