Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
lava — LAVA: Groß angelegte automatisierte Hinzufügung von Schwachstellen | Kitploit
Tools/GitHubGitHub/panda-re/lava
SchwachstellenanalyseFuzzingBinäranalysePapers & ForschungLernen & Bildung
GitHubpanda-re/lava

lava

LAVA: Groß angelegte automatisierte Hinzufügung von Schwachstellen

Repository anzeigen
417651vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

LAVA: Großflächige automatisierte Hinzufügung von Schwachstellen

Publish Lava Package and Container

Lava Tests

Die Bewertung und Verbesserung von Fehlerfindungswerkzeugen ist derzeit schwierig aufgrund eines Mangels an Ground-Truth-Korpora (d.h. Software mit bekannten Fehlern und auslösenden Eingaben). LAVA versucht, dieses Problem zu lösen, indem es automatisch Fehler in Software einfügt. Jeder LAVA-Fehler wird von einer Eingabe begleitet, die ihn auslöst, während normale Eingaben dies äußerst unwahrscheinlich machen. Diese Schwachstellen sind synthetisch, aber wie wir argumentieren, dennoch realistisch, in dem Sinne, dass sie tief in Programmen eingebettet sind und durch reale Eingaben ausgelöst werden. Unsere Arbeit bildet die Grundlage für einen Ansatz zur bedarfsgerechten Generierung großer Ground-Truth-Schwachstellenkorpora, die eine rigorose Werkzeugbewertung ermöglichen und ein qualitativ hochwertiges Ziel für Werkzeugentwickler darstellen.

LAVA ist das Ergebnis einer Zusammenarbeit zwischen dem MIT Lincoln Laboratory, der NYU und der Northeastern University.

Schnellstart

Docker

Die neueste Version des master-Zweigs von LAVA wird automatisch als Docker-Image basierend auf Ubuntu 22.04 erstellt und auf Docker Hub veröffentlicht. Die meisten Benutzer werden den lava-Container verwenden wollen, der PANDA und LAVA zusammen mit ihren Laufzeitabhängigkeiten installiert hat, aber keine Build-Artefakte oder Quellcode, um die Größe des Containers zu reduzieren.

Um den lava-Container zu verwenden, können Sie ihn von Docker Hub pullen:

root@kitploit:~
$ docker pull pandare/lava

Oder aus diesem Repository erstellen:

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

Ubuntu, Debian

Lokale Installation

Auf einem System mit Ubuntu 22.04 sollten Sie einfach bash install.sh ausführen können. Beachten Sie, dass dieses Installationsskript Pakete installieren und Änderungen an Ihrem System vornehmen wird. Sie können die Binärdateien mit sudo apt-get remove lava entfernen.

Sobald Sie die Binärdatei installiert haben, können Sie lokal mit pip install python/ installieren.

HINWEIS: Das Python-Paket benötigt eine SQL-Datei, die beim Kompilieren der Binärdateien erstellt wird und in python/src/pyroclastic/data/lava.sql abgelegt wird. Ohne diese Datei funktioniert das Python-Paket nicht korrekt.

Normale Installation

Alternativ können Sie die Abhängigkeiten von LAVA manuell installieren und dann aus dem Quellcode erstellen. Laden Sie die Debian-Pakete herunter, die sich in den Releases befinden. Installieren Sie dann das Python-Paket mit pip install pyroclastic.

Letzte Schritte

Nutzung von host.json

Führen Sie als nächstes init_host aus, um eine host.json in Ihrem ~/.lava-Verzeichnis zu erstellen. Diese Datei wird von LAVA verwendet, um maschinenspezifische Einstellungen zu speichern. Sie können diese Einstellungen nach Bedarf bearbeiten, aber die Standardwerte sollten funktionieren. Siehe vars.py.

Einige Werte, die Sie beachten sollten:

  • pguser Dies ist der Name des Datenbank-Benutzers, standardmäßig postgres
  • host ist der Name der Postgres-SQL-Datenbank mit allen LAVA-Fehlern. Derzeit standardmäßig database, obwohl Sie dies wahrscheinlich auf localhost ändern sollten, wenn Sie LAVA lokal installiert haben.

HINWEIS: Sie benötigen auch zwei Umgebungsvariablen für die Postgres-SQL-Datenbank:

  • POSTGRES_PASS Dies ist das Passwort für den Postgres-SQL-Benutzer
  • POSTGRES_USER Dies ist der Hostname für die Postgres-SQL-Datenbank

Projektkonfigurationen

Projektkonfigurationen befinden sich im Verzeichnis target_configs, wobei jede Konfiguration unter target_configs/projectname/projectname.json liegt. In diesen Konfigurationsdateien angegebene Pfade sind relativ zu den Werten, die in Ihrer host.json-Datei festgelegt sind.

Einrichten der Postgres-SQL-Datenbank

Wie bereits angedeutet, sollten Sie einen Postgres-SQL-Benutzer erstellen. Sie können ein Skript verwenden, um unter Verwendung der Umgebungsvariablen Folgendes zu tun:

  • Erstellen Sie den Benutzer mit dem bereitgestellten Benutzernamen und Passwort aus den Umgebungsvariablen.
  • Aktualisieren Sie die Postgres-SQL-Datenbank auf dem Host, um Datenverkehr von externen Quellen (z. B. LAVA-Docker-Container) zu akzeptieren.

Verwendung

Schließlich können Sie lava ausführen, um tatsächlich Fehler in ein Programm einzufügen. Geben Sie einfach den Namen eines Projekts an, das sich im Verzeichnis target_configs befindet, zum Beispiel:

root@kitploit:~
lava -ak toy

Sie sollten jetzt eine fehlerhafte Kopie von toy haben!

Wenn Sie Fehler in ein neues Ziel einfügen möchten, müssen Sie wahrscheinlich einige Änderungen vornehmen. Schauen Sie sich How-to-Lava zur Anleitung an.

Dokumentation

Schauen Sie sich das docs-Verzeichnis an, um zu beginnen.

Autoren

LAVA ist das Ergebnis mehrjähriger Entwicklung durch viele Personen; eine unvollständige (alphabetische) Liste der Mitwirkenden finden Sie unten:

  • 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
Tool herunterladen