Cazador de paquetes de código abierto de GitLab, herramienta basada en Falco para detectar código malicioso

GitLab ha lanzado una nueva herramienta de código abierto, Package Hunter, cuyo objetivo es detectar código malicioso ejecutando las dependencias de su proyecto dentro de una caja de arena. Package Hunter aprovecha Falco para detectar el comportamiento inesperado de la aplicación en tiempo de ejecución.

Package Hunter es una herramienta para analizar las dependencias de un programa en busca de código malicioso y otros comportamientos inesperados al instalar las dependencias en un entorno de espacio aislado y monitorear las llamadas al sistema ejecutadas durante la instalación. Cualquier llamada sospechosa al sistema se informa al usuario para un examen más detenido.

Por ejemplo, al ejecutar Package Hunter, podría descubrir que un paquete intentó abrir una conexión de red durante la instalación . Esto le da la oportunidad de verificar que la dirección IP a la que el paquete está tratando de conectarse sea legítima. Si esa verificación no dio ninguna pista, puede intentar reemplazar la versión que está usando con una versión diferente del paquete, por ejemplo, descargándolo de una fuente diferente. Esto protegería, por ejemplo, en caso de que una versión legítima determinada se viera comprometida. Como último paso, puede analizar el comportamiento informado inspeccionando el código y, posiblemente, informando sobre el paquete malicioso.

GitLab ha estado probando Package Hunter internamente desde noviembre de 2020 y facilitó la integración en su proceso de integración continua gracias a una plantilla específica . Sin embargo, la herramienta se puede utilizar en cualquier entorno que admita Falco 0.23.0, Docker v20.10 + y Node v12.21 +. Un Vagrantfile también está disponible para que sea más fácil de instalar y probar en su máquina.

Package Hunter proporciona un servicio que se ejecuta de forma predeterminada en el puerto 3000 que puede controlar mediante la CLI de Package Hunter . Para analizar un proyecto, crea un archivo tar de su proyecto y lo envía al servidor. Si está utilizando Docker, puede ejecutar el siguiente comando para lograrlo:


docker run --rm \
  -v "${PWD}:/usr/src/app" \
  --env "DEBUG=pkgs*" \
  --env "HTR_user=someuser" --env "HTR_pass=somepass" \
  registry.gitlab.com/gitlab-com/gl-security/security-research/package-hunter-cli analyze my_project.tgz

GitLab Package Hunter no es la única herramienta que los desarrolladores pueden usar para intentar protegerse contra el código malicioso en sus dependencias. Tanto GitLab como GitHub brindan soporte para análisis de dependencia y escaneo de código . Sin embargo, Package Hunter se mueve en una dirección ligeramente diferente al tratar de detectar comportamientos maliciosos en tiempo de ejecución.