Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
lava — LAVA: Масштабное автоматизированное добавление уязвимостей | Kitploit
Инструменты/GitHubGitHub/panda-re/lava
Анализ уязвимостейФаззингАнализ Бинарных ФайловСтатьи и ИсследованияОбучение и Образование
GitHubpanda-re/lava

lava

LAVA: Масштабное автоматизированное добавление уязвимостей

Репозиторий
417657211 ч 27 мин назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

LAVA: Крупномасштабное автоматизированное внедрение уязвимостей

Publish Lava Package and Container

Lava Tests

Оценка и улучшение инструментов поиска ошибок в настоящее время затруднены из-за нехватки корпусов с эталонной разметкой (то есть программного обеспечения с известными ошибками и входными данными, которые их вызывают). LAVA пытается решить эту проблему путём автоматического внедрения ошибок в программное обеспечение. Каждая ошибка LAVA сопровождается входными данными, которые её вызывают, тогда как обычные входные данные крайне маловероятно приведут к её появлению. Эти уязвимости синтетические, но, как мы утверждаем, всё же реалистичные, в том смысле, что они встроены глубоко внутри программ и вызываются реальными входными данными. Наша работа лежит в основе подхода к генерации больших корпусов уязвимостей с эталонной разметкой по запросу, что позволяет проводить строгую оценку инструментов и предоставляет качественную цель для разработчиков инструментов.

LAVA является результатом сотрудничества между MIT Lincoln Laboratory, NYU и Northeastern University.

Быстрый старт

Docker

Последняя версия ветки master LAVA автоматически собирается как docker-образ на основе Ubuntu 22.04 и публикуется в Docker Hub. Большинству пользователей понадобится контейнер lava, в котором установлены PANDA и LAVA вместе с их runtime-зависимостями, но без артефактов сборки или исходного кода, чтобы уменьшить размер контейнера.

Чтобы использовать контейнер lava, вы можете загрузить его из Docker Hub:

$ docker pull pandare/lava

Или собрать из этого репозитория:

$ DOCKER_BUILDKIT=1 docker build lava .

Ubuntu, Debian

Локальная установка

В системе под управлением Ubuntu 22.04 вы должны иметь возможность просто запустить bash install.sh. Обратите внимание, что этот скрипт установки установит пакеты и внесёт изменения в вашу систему. Вы можете удалить бинарные файлы с помощью sudo apt-get remove lava.

После завершения установки бинарного файла вы можете установить локально, запустив pip install ..

ПРИМЕЧАНИЕ: пакет Python требует SQL-файл, сгенерированный при компиляции бинарных файлов, который размещается в python/src/pyroclastic/data/lava.sql. Без этого файла пакет Python не будет работать корректно.

Обычная установка

В качестве альтернативы вы можете вручную установить зависимости LAVA, а затем собрать из исходного кода. Скачайте Debian-пакеты, расположенные в разделе releases. Затем установите пакет Python pip install pyroclastic.

Финальные шаги

Использование host.json

Далее запустите init_host, чтобы сгенерировать host.json в вашем каталоге ~/.lava. Этот файл используется LAVA для хранения настроек, специфичных для вашей машины. Вы можете редактировать эти настройки по мере необходимости, но значения по умолчанию должны работать, см. vars.py.

Несколько значений, которые стоит иметь в виду:

  • pguser Это имя пользователя базы данных, в настоящее время по умолчанию postgres
  • host это имя базы данных Postgres SQL со всеми ошибками LAVA. В настоящее время по умолчанию используется database, хотя, если вы установили LAVA локально, вам, вероятно, следует изменить это на localhost

ПРИМЕЧАНИЕ: Вам также нужны две переменные окружения для базы данных Postgres SQL:

  • POSTGRES_PASS Это пароль для пользователя Postgres SQL`
  • POSTGRES_USER Это имя хоста для базы данных Postgres SQL

Конфигурации проектов

Конфигурации проектов расположены в каталоге target_configs, где каждая конфигурация находится по пути target_configs/projectname/projectname.json. Пути, указанные в этих файлах конфигурации, относительны значений, заданных в вашем файле host.json.

Настройка базы данных postgres SQL

Как уже упоминалось, вам следует создать пользователя Postgres SQL. Вы можете использовать скрипт, использующий переменные окружения, для следующего:

  • Создание пользователя с предоставленными именем пользователя и паролем из переменных окружения.
  • Обновление базы данных Postgres SQL на хосте для приёма трафика из внешних источников (например, контейнера LAVA Docker)

Использование

Наконец, вы можете запустить lava, чтобы действительно внедрить ошибки в программу. Просто укажите имя проекта, который находится в каталоге target_configs, например:

lava -ak toy

Теперь у вас должна быть копия toy с ошибками!

Если вы хотите внедрить ошибки в новую цель, вам, вероятно, потребуется внести некоторые изменения. Обратитесь к How-to-Lava за руководством.

Документация

Ознакомьтесь с папкой docs, чтобы начать работу.

Авторы

LAVA является результатом нескольких лет разработки многими людьми; частичный (в алфавитном порядке) список участников приведён ниже:

  • 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
Скачать инструмент