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

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

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

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

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

Категории

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

lava

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

Репозиторий
417651 месяц назадПроверено 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 вместе с их зависимостями времени выполнения, но без артефактов сборки или исходного кода, чтобы уменьшить размер контейнера.

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

root@kitploit:~
$ docker pull pandare/lava

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

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

Ubuntu, Debian

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

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

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

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

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

В качестве альтернативы вы можете вручную установить зависимости LAVA, а затем собрать из исходного кода. Загрузите пакеты Debian, находящиеся в релизах. Затем установите пакет 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, например:

root@kitploit:~
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
Скачать инструмент