En esta publicación vamos a hablar sobre la herramienta OWASP llamada Dependency-Track. Para empezar, una buena pregunta es…
¿Qué es el Dependency-Track?
Dependency Track es una herramienta de análisis de vulnerabilidad que audita los componentes o bibliotecas externas que utilizamos para nuestras aplicaciones. Esta herramienta tiene integraciones con diferentes bases de datos de vulnerabilidades como NPM Public Advisories, National Vulnerability Database, Sonartype OSS Index y VulnDB.
Dependency Track se encarga de analizar de forma proactiva todas tus aplicaciones para detectar vulnerabilidades en los componentes de código abierto que pueden poner en riesgo tu aplicación.
¿Cómo funciona Dependency-Track?
Estos archivos BoM (Bill-of-Materials) definen y describen el contenido que se utiliza en la fabricación de los entregables. Este contenido incluye los datos del autor, editores, licencias, versiones y derechos de autor.Para generar el archivo BoM tenemos varias herramientas, pero una de las más conocidas es CycloneDX. Una vez que tenemos nuestro archivo BoM, podemos subirlo a Dependency-Track manualmente o integrando la carga en nuestro CICD.
CycloneDX admite y se integra a través de sus complementos con varios idiomas
- CycloneDX .NET Core
- CycloneDX Node.js Module
- CycloneDX Java (Maven) Plugin
- CycloneDX Java (Gradle) Plugin
- CycloneDX Java API
- CycloneDX PHP Composer
- CycloneDX Python Module
- CycloneDX Ruby Gem
- CycloneDX Rust Cargo
Integrationes con Dependency-Track
Dependency-Track permite a los equipos DevOps acelerar los procesos y el desarrollo y a su vez controla el uso de componentes externos y los riesgos que pueden causar.Esta herramienta también tiene un sistema de alerta integrado por correo electrónico o con integraciones con varios servicios de mensajería como Slack o Microsoft Teams. Todos ellos personalizables a través de plantillas.
¿Cómo puedo implementarlo?
Para crear tu propio servicio Dependency-Track tienes varias opciones:
- Usando War -> Esta es la opción más difícil de implementar, ya que requiere un contenedor de Servlet ya instalado y configurado como Apache Tomcat 8.5 o superior, sin embargo, ofrece las opciones de implementación más flexibles
- Ejecutable War -> El WAR ejecutable Dependency-Track se entrega listo para ejecutarse. Un WAR ejecutable es un Java Web Archive (WAR) tradicional que se empaqueta de forma que se puede ejecutar desde la línea de comandos.
- Docker Container -> Implementarlo con Docker es el método más fácil y rápido para comenzar. No se requieren requisitos previos más allá de disponer de una versión moderna de Docker.
Espero que hayas disfrutado de este post y te animo a que revises nuestro blog para leer otros posts que puedan ser de tu interés. No dudes en contactarnos si deseas que te ayudemos en tus proyectos.
¡Nos vemos en la próxima entrada!