Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
lava — LAVA: Adición Automatizada de Vulnerabilidades a Gran Escala | Kitploit
Herramientas/GitHubGitHub/panda-re/lava
Análisis de VulnerabilidadesFuzzingAnálisis de BinariosPapers e InvestigaciónAprendizaje y Educación
GitHubpanda-re/lava

lava

LAVA: Adición Automatizada de Vulnerabilidades a Gran Escala

Ver Repositorio
417651hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

LAVA: Adición Automatizada de Vulnerabilidades a Gran Escala

Publish Lava Package and Container

Lava Tests

Evaluar y mejorar las herramientas de búsqueda de errores es actualmente difícil debido a la escasez de corpus de referencia (es decir, software que tiene errores conocidos con entradas que los desencadenan). LAVA intenta resolver este problema inyectando automáticamente errores en el software. Cada error de LAVA está acompañado de una entrada que lo desencadena, mientras que las entradas normales tienen una probabilidad extremadamente baja de hacerlo. Estas vulnerabilidades son sintéticas, pero argumentamos que siguen siendo realistas, en el sentido de que están incrustadas profundamente en los programas y son desencadenadas por entradas reales. Nuestro trabajo forma la base de un enfoque para generar corpus de vulnerabilidades de referencia a gran escala bajo demanda, permitiendo una evaluación rigurosa de herramientas y proporcionando un objetivo de alta calidad para los desarrolladores de herramientas.

LAVA es el producto de una colaboración entre el MIT Lincoln Laboratory, NYU y la Northeastern University.

Inicio Rápido

Docker

La última versión de la rama master de LAVA se compila automáticamente como una imagen de Docker basada en Ubuntu 22.04 y se publica en Docker Hub. La mayoría de los usuarios querrán usar el contenedor lava, que tiene instalados PANDA y LAVA junto con sus dependencias de ejecución, pero no artefactos de compilación ni código fuente para reducir el tamaño del contenedor.

Para usar el contenedor lava, puedes descargarlo de Docker Hub:

root@kitploit:~
$ docker pull pandare/lava

O compilar desde este repositorio:

root@kitploit:~
$ DOCKER_BUILDKIT=1 docker build lava .

Ubuntu, Debian

Instalación Local

En un sistema que ejecute Ubuntu 22.04, deberías poder simplemente ejecutar bash install.sh. Ten en cuenta que este script de instalación instalará paquetes y realizará cambios en tu sistema. Puedes eliminar los binarios usando sudo apt-get remove lava.

Una vez que termines de instalar el binario, puedes instalar localmente ejecutando pip install python/.

NOTA que el paquete de Python requiere un archivo SQL generado al compilar los binarios que se coloca en python/src/pyroclastic/data/lava.sql. Sin este archivo, el paquete de Python no funcionará correctamente.

Instalación normal

Alternativamente, puedes instalar manualmente las dependencias de LAVA y luego compilar desde el código fuente. Descarga los paquetes Debian ubicados en los releases. Luego instala el paquete de Python pip install pyroclastic.

Pasos finales

Usando host.json

A continuación, ejecuta init_host para generar un host.json en tu directorio ~/.lava. Este archivo es utilizado por LAVA para almacenar configuraciones específicas de tu máquina. Puedes editar estas configuraciones según sea necesario, pero los valores predeterminados deberían funcionar, consulta vars.py.

Algunos valores a tener en cuenta son los siguientes:

  • pguser Este es el nombre del usuario de la base de datos, actualmente por defecto es postgres
  • host es el nombre de la base de datos Postgres SQL con todos los errores de LAVA. Actualmente, por defecto es database, aunque si instalaste LAVA localmente, probablemente deberías cambiarlo a localhost

NOTA: También necesitas dos variables de entorno para la base de datos Postgres SQL:

  • POSTGRES_PASS Esta es la contraseña para el usuario de Postgres SQL`
  • POSTGRES_USER Este es el nombre de host para la base de datos Postgres SQL

Configuraciones de proyecto

Las configuraciones de proyecto se encuentran en el directorio target_configs, donde cada configuración está en target_configs/projectname/projectname.json. Las rutas especificadas dentro de estos archivos de configuración son relativas a los valores establecidos en tu archivo host.json.

Configuración de la base de datos Postgres SQL

Como se mencionó, debes crear un usuario de Postgres SQL. Puedes usar un script usando las variables de entorno para lo siguiente:

  • Crear el usuario con el nombre de usuario y contraseña proporcionados desde las variables de entorno.
  • Actualizar la base de datos Postgres SQL en el host para que acepte tráfico de fuentes externas (por ejemplo, contenedor Docker de LAVA)

Uso

Finalmente, puedes ejecutar lava para inyectar realmente errores en un programa. Simplemente proporciona el nombre de un proyecto que esté en el directorio target_configs, por ejemplo:

root@kitploit:~
lava -ak toy

¡Ahora deberías tener una copia con errores de toy!

Si quieres inyectar errores en un nuevo objetivo, probablemente necesitarás hacer algunas modificaciones. Consulta How-to-Lava para obtener orientación.

Documentación

Consulta la carpeta docs para comenzar.

Autores

LAVA es el resultado de varios años de desarrollo por muchas personas; a continuación se muestra una lista parcial (en orden alfabético) de colaboradores:

  • Andy Davis
  • Brendan Dolan-Gavitt
  • Andrew Fasano
  • Zhenghao Hu
  • Patrick Hulin
  • Amy Jiang
  • Engin Kirda
  • Tim Leek
  • Andrea Mambretti
  • Andrew Quijano
  • Wil Robertson
  • Aaron Sedlacek
  • Rahul Sridhar
  • Frederick Ulrich
  • Ryan Whelan
Descargar herramienta