Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
lava — LAVA: Aggiunta automatizzata di vulnerabilità su larga scala | Kitploit
Strumenti/GitHubGitHub/panda-re/lava
Analisi delle VulnerabilitàFuzzingAnalisi di BinariPaper e RicercaApprendimento e Formazione
GitHubpanda-re/lava

lava

LAVA: Aggiunta automatizzata di vulnerabilità su larga scala

Vedi Repository
41765742 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

LAVA: Aggiunta Automatizzata di Vulnerabilità su Larga Scala

Publish Lava Package and Container

Lava Tests

Valutare e migliorare gli strumenti di ricerca di bug è attualmente difficile a causa della scarsità di corpora di ground truth (ovvero, software che presenta bug noti con input che li attivano). LAVA tenta di risolvere questo problema iniettando automaticamente bug nel software. Ogni bug di LAVA è accompagnato da un input che lo attiva, mentre gli input normali hanno una probabilità estremamente bassa di farlo. Queste vulnerabilità sono sintetiche ma, sosteniamo, comunque realistiche, nel senso che sono incorporate in profondità nei programmi e sono attivate da input reali. Il nostro lavoro costituisce la base di un approccio per generare su richiesta grandi corpora di vulnerabilità ground-truth, consentendo una rigorosa valutazione degli strumenti e fornendo un target di alta qualità per gli sviluppatori di strumenti.

LAVA è il prodotto di una collaborazione tra MIT Lincoln Laboratory, NYU e Northeastern University.

Avvio Rapido

Docker

L'ultima versione del branch master di LAVA viene automaticamente compilata come immagine docker basata su Ubuntu 22.04 e pubblicata su Docker Hub. La maggior parte degli utenti vorrà utilizzare il container lava che ha PANDA e LAVA installati insieme alle loro dipendenze di runtime, ma senza artefatti di build o codice sorgente per ridurre le dimensioni del container.

Per utilizzare il container lava puoi scaricarlo da Docker Hub:

$ docker pull pandare/lava

Oppure compilarlo da questo repository:

$ DOCKER_BUILDKIT=1 docker build lava .

Ubuntu, Debian

Installazione Locale

Su un sistema che esegue Ubuntu 22.04, dovresti essere in grado di eseguire semplicemente bash install.sh. Nota che questo script di installazione installerà pacchetti e apporterà modifiche al tuo sistema. Puoi rimuovere i binari usando sudo apt-get remove lava.

Una volta terminata l'installazione del binario, puoi installare localmente eseguendo pip install ..

NOTA che il pacchetto Python richiede un file SQL generato dalla compilazione dei binari che viene inserito in python/src/pyroclastic/data/lava.sql. Senza questo file, il pacchetto Python non funzionerà correttamente.

Installazione regolare

In alternativa, puoi installare manualmente le dipendenze di LAVA e poi compilare dal sorgente. Scarica i pacchetti Debian situati nelle releases. Poi installa il pacchetto python pip install pyroclastic.

Passaggi finali

Utilizzo di host.json

Successivamente, esegui init_host per generare un host.json nella tua directory ~/.lava. Questo file è utilizzato da LAVA per memorizzare impostazioni specifiche della tua macchina. Puoi modificare queste impostazioni come necessario, ma i valori predefiniti dovrebbero funzionare, vedi vars.py.

Alcuni valori da tenere a mente sono i seguenti:

  • pguser Questo è il nome dell'utente del database, attualmente predefinito a postgres
  • host è il nome del database Postgres SQL con tutti i bug di LAVA. Attualmente, è predefinito a database, anche se se hai installato LAVA localmente, probabilmente dovresti cambiarlo in localhost

NOTA: Hai anche bisogno di due variabili d'ambiente per il database Postgres SQL:

  • POSTGRES_PASS Questa è la password per l'utente Postgres SQL`
  • POSTGRES_USER Questo è l'hostname per il database Postgres SQL

Configurazioni del progetto

Le configurazioni del progetto si trovano nella directory target_configs, dove ogni configurazione si trova in target_configs/projectname/projectname.json. I percorsi specificati all'interno di questi file di configurazione sono relativi ai valori impostati nel tuo file host.json.

Configurazione del database postgres SQL

Come accennato, dovresti creare un utente Postgres SQL. Puoi usare uno script per utilizzare le variabili d'ambiente per quanto segue:

  • Creare l'utente con username e password forniti dalle variabili d'ambiente.
  • Aggiornare il database Postgres SQL sull'host per accettare traffico da fonti esterne (ad es. container Docker di LAVA)

Utilizzo

Infine, puoi eseguire lava per iniettare effettivamente bug in un programma. Basta fornire il nome di un progetto che si trova nella directory target_configs, ad esempio:

lava -ak toy

Ora dovresti avere una copia buggata di toy!

Se vuoi iniettare bug in un nuovo target, probabilmente avrai bisogno di fare alcune modifiche. Consulta How-to-Lava per una guida.

Documentazione

Consulta la cartella docs per iniziare.

Autori

LAVA è il risultato di diversi anni di sviluppo da parte di molte persone; un elenco parziale (in ordine alfabetico) dei contributori è riportato di seguito:

  • 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
Scarica lo strumento