La seguridad puede ser un mundo difícil y costoso de navegar. Por ello, decidimos crear una guía completa de herramientas de seguridad de código abierto para ir al grano y mostrar cuáles son las herramientas más críticas a implementar, qué activos necesita proteger y cómo puede construir un plan de seguridad a largo plazo utilizando únicamente herramientas gratuitas y de código abierto.

¿Cuáles son las herramientas más críticas?
Existen aparentemente infinitas herramientas de seguridad disponibles; el primer paso es siempre decidir por dónde empezar. Aunque siempre puede variar según las especificidades, siempre recomendamos empezar por lo más fácil para los atacantes. Asegúrate de que tu infraestructura cloud sea segura, de no tener secretos que los atacantes puedan encontrar fácilmente, de que no haya errores de codificación simples que lleven a fallos y de no tener vulnerabilidades críticas en tu cadena de suministro de código abierto. A partir de ahí, puedes implementar más herramientas para mejorar la seguridad y, posteriormente, aplicar más mejores prácticas a lo largo de todo el ciclo de vida del desarrollo de software.

¿Qué herramientas están disponibles?
Hay muchas herramientas de código abierto excelentes disponibles y mucho dependerá de tu stack y necesidades exactas, pero a continuación se presentan algunas de las que consideramos el estándar de oro y un excelente punto de partida.
CSPM (Gestión de la Postura de Seguridad en la Nube)
Cloudsploit
CSPM es una herramienta esencial para proteger nuestros activos en la nube; Cloudsploit es un CSPM de código abierto. El proyecto detecta riesgos de seguridad en cuentas de infraestructura en la nube, incluyendo Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP) y Oracle Cloud Infrastructure (OCI).
detección de secretos
Trufflehog | gitleaks.
Los secretos son objetivos de alto valor para los atacantes, ya que permiten movimientos laterales rápidos hacia nuevos sistemas; de hecho, los secretos se utilizan en el 83% de las brechas de seguridad. Es esencial detectarlos donde residen, especialmente en sus repositorios Git. Dos de las mejores herramientas de código abierto para secretos son Trufflehog y gitleaks.
SCA (análisis de composición de software)
Trivy | Dependency-Check | Dependency-Track
Las dependencias de código abierto representan el 85 % del código de nuestras aplicaciones, ¡esto puede significar que los atacantes conocen tu código mejor que tú! Es fundamental que sepamos qué componentes de código abierto contienen vulnerabilidades. Las herramientas SCA analizan qué dependencias de código abierto utilizamos en nuestras aplicaciones y determinan cuáles tienen vulnerabilidades conocidas. Trivy, Dependency-Check y Dependency-Track son excelentes herramientas para ayudarnos a comprender nuestros riesgos de código abierto.
SAST (Pruebas de seguridad de aplicaciones estáticas)
Bandit | Breakeman| GoSec |Semgrep
SAST revisa tu código fuente en busca de errores que puedan derivar en problemas de seguridad. Algunos de los errores más comunes que SAST puede descubrir son las vulnerabilidades de inyección, los fallos de cifrado y los desbordamientos de búfer. Las herramientas que elijas deberán ser específicas para tu pila tecnológica. Algunas excelentes opciones son Bandit (Python), Breakeman (Ruby), GoSec (Go) y Semgrep (Genérico).
DAST (Pruebas de seguridad de aplicaciones dinámicas)
Nuclei | ZAP
Las herramientas DAST actúan como un hacker automatizado que lanza ataques contra tus dominios para descubrir vulnerabilidades explotables; esto también se conoce a veces como monitorización de superficie. Dos excelentes herramientas de código abierto son Nuclei y ZAP.
Detección de Malware
Phylum
Las herramientas SCA clásicas se basan en vulnerabilidades que han sido divulgadas públicamente. La detección de malware consiste en descubrir código malicioso dentro de paquetes que quizás no hayan sido reportados. Phylum es una excelente herramienta para esto; aunque técnicamente no es completamente de código abierto, sí tiene una versión gratuita que se puede usar con su herramienta de escaneo CLI.
escaneo IaC
Checkov
La infraestructura como código nos ha permitido aprovisionar y desplegar infraestructura en la nube con mayor confianza y facilidad. Sin embargo, esto puede llevar a una mala configuración que introduzca problemas de seguridad. Las herramientas CSPM mencionadas anteriormente pueden encontrar errores en tu infraestructura en la nube, mientras que el escaneo IaC puede evitar que los errores ocurran antes del despliegue. Checkov es una excelente herramienta que puede escanear estos elementos en busca de problemas de seguridad.
firewall integrado en la aplicación
Zen-Node | Zen Python
Ha habido un verdadero movimiento hacia el 'shift left' en seguridad (adelantar la seguridad en el ciclo de vida); si bien esto es excelente, no debemos descuidar el otro lado e implementar seguridad para nuestras aplicaciones en ejecución. Zen de Aikido es un firewall integrado en la aplicación de código abierto que puede bloquear ataques como la inyección en tiempo de ejecución, añadiendo un nivel secundario de protección. Zen-Node | Zen Python
Componentes con fin de vida útil
endoflife.date
Un gran riesgo de nuestra supplychain de código abierto son los componentes que ya no reciben mantenimiento; endoflife.date es una excelente base de datos de proyectos que ya no se mantienen activamente y no deberían usarse en producción.
Protección de licencias
Trivy
Es importante ser consciente de que estás utilizando la licencia de código abierto correcta con tu aplicación. Trivy proporciona excelentes conocimientos sobre los tipos de licencias de código abierto y cómo se están utilizando.
¿Son las herramientas de código abierto tan buenas como las versiones comerciales?
Las herramientas de código abierto pueden ser de muy alta calidad en cuanto a sus capacidades de escaneo. Sin embargo, las herramientas comerciales aportan más valor en lo que respecta a la reducción de ruido, la remediación y la monitorización. No debes tener miedo de usar herramientas de código abierto, pero ten en cuenta que su uso, especialmente a medida que creces, requerirá mucho tiempo de ingeniería.
¿Por qué usar herramientas de seguridad de código abierto?
- Sin barreras de entrada (rápido y gratuito para empezar)
- El open source es una excelente herramienta para conseguir el respaldo de la dirección (Estas herramientas pueden utilizarse para destacar problemas de seguridad).
- Escáneres de alta calidad (Muchas herramientas de código abierto igualan las capacidades de escaneo)
- Soporte comunitario
¿Por qué no usar herramientas de seguridad de código abierto?
- Configuración difícil, las herramientas de código abierto utilizan una amalgama de lenguajes y frameworks, por lo que hacer que se comuniquen correctamente es complicado.
- Las herramientas de código abierto ruidosas suelen centrarse en el descubrimiento, lo que puede generar muchos falsos positivos si no se crean capas adicionales de filtrado.
- Soporte limitado; si las herramientas fallan, el usuario debe gestionarlo por su cuenta.
- Sin RBAC. En el desarrollo moderno, es importante que todo el equipo esté involucrado. La seguridad de código abierto no permite ningún filtrado entre roles, lo que supone una gran carga para el equipo de seguridad.
No hay una respuesta correcta sobre herramientas de código abierto frente a herramientas comerciales y ambas tienen su lugar, lee más sobre este tema aquí.
La diferencia Aikido
Si estás investigando herramientas de seguridad de código abierto, probablemente habrás llegado o llegarás a la conclusión de que las herramientas comerciales son caras, mientras que las de código abierto requieren mucho trabajo para poder centralizarlas en un panel de control. En Aikido entendemos ese desafío y hemos creado un producto que integra a la perfección proyectos de código abierto, centralizados en un único panel de control, aportando contexto a cada problema de seguridad con triaje automático y flujos de trabajo de remediación. Esto te permite tener el poder de una gran herramienta comercial por una fracción del precio.


