Un escáner de vulnerabilidades open source es una herramienta gratis que corrés vos mismo para encontrar problemas de seguridad en tu código, tus dependencias, tus contenedores, tu app web o tu red. El detalle es que "escáner de vulnerabilidades" abarca herramientas muy distintas. Uno que lee código Python no tiene nada que ver con uno que prueba puertos abiertos, y elegir la categoría equivocada es el error más común.
En esta guía ordenamos 13 escáneres gratis conocidos según lo que realmente escanean. Para cada uno revisamos la licencia en su repositorio oficial, porque "gratis" y "open source" no son lo mismo, y un par de herramientas muy usadas vienen con condiciones que conviene conocer antes de meterlas en tu CI.
Tabla resumen: escáneres gratis por categoría
| Herramienta | Categoría | Licencia | Qué escanea |
|---|---|---|---|
| Semgrep CE | SAST | LGPL-2.1 (motor); reglas del registry bajo Semgrep Rules License v1.0 | Código fuente en muchos lenguajes, basado en patrones |
| CodeQL | SAST | Queries MIT; CLI bajo los GitHub CodeQL Terms | Código fuente, queries semánticas de data flow |
| Bandit | SAST | Apache-2.0 | Código Python |
| Brakeman | SAST | Brakeman Public Use License (source-available) | Aplicaciones Ruby on Rails |
| OSV-Scanner | SCA | Apache-2.0 | Lockfiles y dependencias, con datos de osv.dev |
| Trivy | SCA, contenedores, IaC, secretos | Apache-2.0 | Contenedores, Kubernetes, repos, cloud; vulns, misconfigs, secretos, SBOM |
| Grype | SCA, contenedores | Apache-2.0 | Imágenes de contenedores y filesystems |
| Gitleaks | Secretos | MIT | Secretos en repos git y archivos |
| TruffleHog | Secretos | AGPL-3.0 | Credenciales filtradas, con verificación |
| ZAP | DAST | Apache-2.0 | Apps web y APIs corriendo |
| Nuclei | DAST, infra | MIT | Apps, APIs, redes, DNS y configs cloud con templates YAML |
| Nmap | Red | Nmap Public Source License | Hosts, puertos abiertos, servicios (scripts NSE) |
| OpenVAS | Red | GPL-2.0 (scanner), parte de Greenbone Community Edition | Hosts y servicios de red con vulnerabilidades conocidas |
Si no tenés claro por qué capa empezar, leé SAST vs DAST. Resumido: código y dependencias en cada pull request; app corriendo y red, de forma periódica.
1. SAST: escáneres que leen tu código
El análisis estático (SAST) mira el código sin ejecutarlo y marca flujos de datos que van desde input del usuario hasta sinks peligrosos: queries SQL, comandos de shell, templates, rutas de archivos.
Semgrep Community Edition
Semgrep CE es un motor de análisis estático liviano para muchos lenguajes. Su gran ventaja es que las reglas se parecen al código que buscan, así que escribir una regla propia para tu framework lleva minutos. El motor tiene licencia LGPL-2.1. Ojo: las reglas del Semgrep Registry se publican bajo una licencia aparte, la Semgrep Rules License v1.0, que no es la misma que la del motor. Opengrep es un fork comunitario del motor, también LGPL-2.1.
semgrep scan --config autoCodeQL
CodeQL, de GitHub, trata el código como una base de datos que consultás. Es muy potente para seguir data flow entre archivos. La licencia es lo que muchos entienden mal: el repositorio de queries y librerías es MIT, pero el CodeQL CLI se rige por los GitHub CodeQL Terms. Esos términos permiten uso gratis para investigación académica y sobre codebases open source (con licencia aprobada por la OSI). Para escanear código privado necesitás una licencia paga de GitHub (Advanced Security o Code Security).
Bandit
Bandit, mantenido por PyCQA bajo Apache-2.0, encuentra problemas de seguridad comunes en código Python: uso de eval, pickle, subprocess con shell=True, hashing débil, contraseñas hardcodeadas y similares.
bandit -r src/Brakeman
Brakeman es un escáner estático hecho específicamente para Ruby on Rails, así que entiende las convenciones de Rails: controllers, params, queries de ActiveRecord. Se distribuye bajo la Brakeman Public Use License: es de uso gratis, pero los usos comerciales tal como los define la licencia requieren una licencia comercial, por lo que es source-available y no open source según la OSI. Leé la licencia antes de sumarlo a un pipeline comercial.
2. SCA: dependencias y contenedores
La mayor parte del código que publicás lo escribió otra persona. El análisis de composición de software (SCA) cruza las versiones de tus lockfiles e imágenes contra bases de vulnerabilidades. También es la forma de generar un SBOM.
OSV-Scanner
OSV-Scanner es el escáner de Google, Apache-2.0, que lee lockfiles y manifests y los compara contra la base abierta osv.dev, que agrega advisories de muchos ecosistemas.
osv-scanner scan source -r ./Trivy
Trivy, de Aqua Security bajo Apache-2.0, es la navaja suiza de la lista. Encuentra vulnerabilidades, misconfigurations y secretos, y genera SBOMs, en imágenes de contenedores, Kubernetes, repositorios de código y entornos cloud. Si vas a instalar un solo escáner para infraestructura, es una elección muy común.
trivy fs .
trivy image miapp:latest
trivy config ./infraGrype
Grype, de Anchore bajo Apache-2.0, es un escáner de vulnerabilidades para imágenes de contenedores y filesystems. Combina bien con Syft, el generador de SBOM de Anchore, si querés separar inventario de matching.
grype dir:.
grype miapp:latest3. Secretos: claves y tokens en git
Un secreto que se commiteó una vez y después se borró sigue viviendo en el historial de git. Los escáneres de secretos revisan todo el historial, no solo los archivos actuales. Los comparamos a fondo en herramientas de detección de secretos.
Gitleaks
Gitleaks (MIT) escanea repos git, directorios y archivos buscando secretos con reglas de regex y entropía. Es rápido y fácil de correr como pre-commit hook o como paso de CI.
gitleaks git -vTruffleHog
TruffleHog (AGPL-3.0) encuentra, verifica y analiza credenciales filtradas. Lo que lo distingue es la verificación: puede chequear si una clave detectada sigue activa, lo que te ayuda a priorizar. Tené en cuenta que AGPL-3.0 tiene obligaciones si lo modificás y lo ofrecés como servicio de red.
trufflehog git file://. --results=verified4. DAST: probar la app web corriendo
Los escáneres dinámicos no necesitan tu código. Mandan requests a la aplicación desplegada e inspeccionan las respuestas, así detectan problemas de configuración y de runtime que el SAST no puede ver.
ZAP
ZAP, que ahora se llama "ZAP by Checkmarx" y tiene licencia Apache-2.0, es la herramienta DAST gratis más conocida. Crawlea apps web, corre escaneos pasivos y activos, y se puede automatizar en CI con sus modos baseline y full scan. El escaneo autenticado funciona, pero configurarlo lleva trabajo de verdad.
Nuclei
Nuclei, de ProjectDiscovery bajo MIT, ejecuta templates YAML contra objetivos. Cada template describe un request y cómo se ve una respuesta vulnerable, y cubren aplicaciones, APIs, redes, DNS y configuraciones cloud. Es excelente para chequear CVEs y exposiciones conocidas en muchos hosts rápido.
nuclei -u https://staging.ejemplo.com5. Red e infraestructura
Nmap
Nmap descubre hosts, puertos abiertos y servicios, y su motor de scripts (NSE) agrega chequeos encima. Se distribuye bajo la Nmap Public Source License (NPSL), basada en términos open source pero con condiciones para empresas que lo integran en productos comerciales.
nmap -sV scanme.nmap.orgOpenVAS / Greenbone Community Edition
OpenVAS es el componente scanner (GPL-2.0) de Greenbone Community Edition, un stack completo de gestión de vulnerabilidades de red que también incluye el manager gvmd (AGPL-3.0) y un feed de tests de vulnerabilidades. Escanea hosts y servicios buscando vulnerabilidades y misconfigurations conocidas. Contá con un setup más pesado que el del resto.
Cómo combinarlos en un stack gratis
- En cada pull request: Semgrep CE (o Bandit / Brakeman según tu stack), OSV-Scanner o Trivy para dependencias, Gitleaks para secretos nuevos.
- En cada build de imagen: Trivy o Grype contra la imagen, y Trivy config contra Dockerfiles, Terraform y manifests de Kubernetes.
- Una vez, sobre todo el historial: TruffleHog o Gitleaks contra todos los commits, y rotá lo que siga activo.
- Semanalmente contra staging: ZAP baseline y templates de Nuclei.
- Para infraestructura propia: Nmap y OpenVAS sobre tus rangos de IP públicos.
Para herramientas más allá de los escáneres, mirá nuestro repaso de herramientas de penetration testing.
Los límites de los escáneres gratis
Los escáneres open source son muy buenos y todo equipo debería correr algunos. Pero hay que ser honestos con lo que no hacen:
- Ruido. Las reglas por patrón y el matching de versiones reportan muchos hallazgos que no son alcanzables ni explotables. Alguien tiene que triarlos, y los devs dejan de leer herramientas que gritan "lobo" todo el tiempo.
- Nada de lógica de negocio. Los bugs web más dañinos suelen ser fallas de autorización como IDOR, parte del broken access control que encabeza el OWASP Top 10. "El usuario A puede leer la factura del usuario B" no es un patrón que matchee ninguna regla.
- Sin fix. La mayoría te dice qué está mal, no cómo cambiar tu código, y ninguna abre un parche testeado.
- Esfuerzo de integración. Cinco herramientas son cinco configs, cinco formatos de salida, cinco archivos de ignore y nadie dueño del panorama completo.
Acá es donde ayuda el análisis que razona. El AI SAST lee el código como lo haría un revisor, así que puede notar que un handler valida ownership y su hermano no. Nurbak está hecho para eso: conectás GitHub y escaneás un repo, su propio modelo de IA self-hosted analiza el código (el análisis no manda tu código a OpenAI ni a Anthropic), y reporta vulnerabilidades explotables con archivo y línea, CVEs de dependencias, misconfigurations de GitHub Actions, Docker, Terraform y Kubernetes y secretos en el historial de git, todo resumido en un score de 0 a 100 con explicaciones en lenguaje simple. Además puede abrir un Pull Request con el fix y un test de regresión de seguridad (el fix usa Claude, con tu consentimiento explícito). El escaneo gratis te muestra completos los 3 hallazgos más importantes. Lo podés probar desde la página del escáner de vulnerabilidades.
Escáneres vs auditorías vs pentests
Los escáneres, una auditoría de seguridad de código y un pentest responden preguntas distintas. Los escáneres responden "¿tenemos patrones o versiones malas conocidas?" en cada commit. Un pentest de caja blanca responde "¿alguien que lee nuestro código puede entrar?". Un pentest humano responde "¿qué puede encadenar un atacante creativo?". Si vas a contratar lo último, nuestra guía para elegir una empresa de pentesting te dice qué preguntar, y nuestra plantilla de informe de pentest muestra cómo se ve un buen entregable.
En resumen
Arrancá con las herramientas gratis que encajan con tu stack: un motor SAST, un escáner de dependencias y contenedores, un escáner de secretos. Sumá ZAP o Nuclei cuando tengas un staging que valga la pena probar, y Nmap u OpenVAS si manejás tus propios servidores. Revisá la licencia de cada una antes de meterla en un pipeline comercial, sobre todo CodeQL, Brakeman y TruffleHog. Después cubrí el hueco que dejan las herramientas por patrones, autorización y lógica de negocio, con revisión que razone o con un escáner de vulnerabilidades que entienda tu código.
