Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 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
4176574vor 2 TagenVon 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: Automatische Schwachstelleneinfügung im großen Maßstab

Publish Lava Package and Container

Lava Tests

Die Bewertung und Verbesserung von Werkzeugen zur Fehlersuche ist derzeit schwierig, da es an Ground-Truth-Korpora mangelt (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 mit extrem geringer Wahrscheinlichkeit tun. Diese Schwachstellen sind synthetisch, aber – so argumentieren wir – dennoch realistisch, in dem Sinne, dass sie tief in Programmen eingebettet sind und durch echte Eingaben ausgelöst werden. Unsere Arbeit bildet die Grundlage für einen Ansatz zur bedarfsgerechten Generierung großer Ground-Truth-Schwachstellenkorpora, der eine rigorose Werkzeugbewertung ermöglicht und Werkzeugentwicklern ein hochwertiges Ziel bietet.

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

Schnellstart

Docker

Die neueste Version von LAVAs master-Branch wird automatisch als Docker-Image auf Basis von Ubuntu 22.04 gebaut und auf Docker Hub veröffentlicht. Die meisten Benutzer werden das lava-Container-Image verwenden wollen, in dem PANDA und LAVA zusammen mit ihren Laufzeitabhängigkeiten installiert sind, aber ohne Build-Artefakte oder Quellcode, um die Größe des Containers zu reduzieren.

Um das lava-Container-Image zu verwenden, können Sie es von Docker Hub pullen:

$ docker pull pandare/lava

Oder aus diesem Repository bauen:

$ 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 installiert und Änderungen an Ihrem System vornimmt. Sie können die Binärdateien mit sudo apt-get remove lava entfernen.

Sobald Sie die Installation der Binärdatei abgeschlossen haben, können Sie lokal mit pip install . installieren.

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

Reguläre Installation

Alternativ können Sie LAVAs Abhängigkeiten manuell installieren und dann aus dem Quellcode bauen. Laden Sie die Debian-Pakete aus den Releases herunter. Installieren Sie dann das Python-Paket mit pip install pyroclastic.

Abschließende Schritte

Verwendung von host.json

Führen Sie als Nächstes init_host aus, um eine host.json in Ihrem ~/.lava-Verzeichnis zu erzeugen. Diese Datei wird von LAVA verwendet, um Einstellungen zu speichern, die spezifisch für Ihren Rechner sind. Sie können diese Einstellungen nach Bedarf bearbeiten, aber die Standardwerte sollten funktionieren, siehe vars.py.

Einige Werte, die Sie beachten sollten, sind die folgenden:

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

HINWEIS: Sie benötigen außerdem 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. Pfade, die in diesen Konfigurationsdateien angegeben werden, sind relativ zu 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 unter Verwendung der Umgebungsvariablen für Folgendes verwenden:

  • Den Benutzer mit dem angegebenen Benutzernamen und Passwort aus den Umgebungsvariablen erstellen.
  • Die Postgres-SQL-Datenbank auf dem Host aktualisieren, um Datenverkehr von externen Quellen zu akzeptieren (z. B. LAVA-Docker-Container)

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:

lava -ak toy

Sie sollten nun eine fehlerhafte Kopie von toy haben!

Wenn Sie Fehler in ein neues Ziel einfügen möchten, werden Sie wahrscheinlich einige Änderungen vornehmen müssen. Lesen Sie How-to-Lava für Anleitungen.

Dokumentation

Schauen Sie sich den Ordner docs an, um zu beginnen.

Autoren

LAVA ist das Ergebnis mehrjähriger Entwicklung durch viele Personen; eine teilweise (alphabetische) Liste der Mitwirkenden ist unten aufgeführt:

  • 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