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

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

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

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

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

Категории

Все категории
Loading categories
FuzzingBrain-Bench — A benchmark for LLM-driven bug discovery: 77 challenges across 43 open-source projects (C/C++/Java). | Kitploit
Инструменты/GitHubGitHub/fuzzingbrain/fuzzingbrain-bench
Dynamic Analysis (Sandboxing)Vulnerability AnalysisFuzzingLearning & EducationAI SecurityLabs & Practice
GitHubfuzzingbrain/fuzzingbrain-bench

FuzzingBrain-Bench

A benchmark for LLM-driven bug discovery: 77 challenges across 43 open-source projects (C/C++/Java).

Репозиторий
83787 дней назадЕщё не проверено

Популярное

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

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

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

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

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

FuzzingBrain Bench

Бенчмарк для воспроизведения уязвимостей с помощью LLM на 77 реальных zero-day багах в 43 open-source проектах (C / C++ / Java).

Каждое задание даёт агенту только фаззинг-харнесс (цель) и исходники проекта на уязвимой ревизии — без патча, без фикс-коммита, без целевой строки. Агент должен найти входные данные, которые повторно вызывают сбой под сантайзером. Каждая оценка детерминирована (без LLM-судьи) и происходит внутри образа и офлайн: кандидат прогоняется через официальный харнесс с сантайзером, встроенный в контейнер задания, а результат оценивается по уникальным крашам, которые вызвал агент. Ничего не покидает машину, и никакой сервис поднимать не нужно.

ЗаданийПроектовЯзыкиОценка
77 сквозных43C · C++ · Javaдетерминированная — внутри образа, офлайн

Ни в образах, ни в этом репозитории не раскрывается, в чём заключается баг — задания названы нейтральными алиасами (<project>-NN, например avro-03), а ключ ответа (PoC, ожидаемый сбой, собранная фикс-версия) отсутствует и там, и там: он остаётся у мейнтейнера. Все 77: tools/sealed/CHALLENGES.md.


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

1. Установка

git clone https://github.com/fuzzingbrain/FuzzingBrain-Bench
cd FuzzingBrain-Bench

python3 -m venv .venv && source .venv/bin/activate   # рекомендуется (и обязательно
                                                     # на Debian/Ubuntu, PEP 668)
pip install -e .                              # нужен Python ≥ 3.10 и Docker

# положите ключ(и) вашей модели в ./.env — подхватывается автоматически при каждом запуске, экспорт не нужен
cat > .env <<'EOF'
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GEMINI_API_KEY=...
DEEPSEEK_API_KEY=sk-...
EOF

fb-bench list                                 # 77 заданий (по алиасам)
fb-bench models                               # поддерживаемые модели + какие ключи загружены

(./.env читается автоматически; обычный export ANTHROPIC_API_KEY=... тоже работает.)

Повторно выполняйте source .venv/bin/activate в каждой новой оболочке. Или пропустите venv с pip install --break-system-packages -e . (не рекомендуется).

fb-bench run скачивает публичный образ задания, запускает цикл агента на хосте (вызывая API вашей модели) и оценивает каждого кандидата внутри этого образа — без сети, ничего не нужно доставать. Требуются только Docker и ключ вашей модели, а запуск оценивает уникальные краши, которые нашёл агент — идентичность краша определяется типом сбоя сантайзера плюс его верхними кадрами стека, поэтому один и тот же сбой, воспроизведённый двадцать раз, засчитывается один раз.

По умолчанию --arm api не требует ничего сверх перечисленного. Бэкенды --arm codex и --arm claudecode требуют дополнительных CLI от вендоров — опционально, устанавливаются отдельно (никогда не входят в pip install -e .); см. §4.

2. Запуск одного задания с моделью

# Семейство Claude  (haiku — самый дешёвый/быстрый; для сложных запусков меняйте на opus/sonnet)
fb-bench run avro-03 --model claude-haiku-4-5

# Семейство GPT
fb-bench run avro-03 --model gpt-5.5

# Семейство Gemini
fb-bench run avro-03 --model gemini-3.1-pro-preview

# Семейство DeepSeek  (OpenAI-совместимый эндпоинт; нужен DEEPSEEK_API_KEY)
fb-bench run avro-03 --model deepseek-v4-flash

Модели: claude-haiku-4-5 · claude-sonnet-4-6 · claude-opus-4-8 · gpt-5.5 · gpt-5.4 · gpt-5 · gemini-3.1-pro-preview · gemini-2.5-flash · deepseek-v4-pro · deepseek-v4-flash (любой id из каталога работает через --model; см. fb-bench models).

3. Запуск многих — та же команда, один или много

fb-bench run принимает один баг или много, одну модель или много. Одиночный запуск — это просто матрица размером один, поэтому отдельной команды "sweep" нет:

# рекомендуемый полный запуск: одна модель на весь корпус, именованный вывод, PoC
# сохраняются (по умолчанию) для последующего просмотра. Агент продолжает охоту
# после первого краша, если не передать --stop-on-crash
fb-bench run all --model claude-haiku-4-5 --output run1 --max-turns 100

# курируемый кросс-модельный состав, все задания, 4 ячейки параллельно
fb-bench run all --model default-lineup --output sweep1 --jobs 4

# пара багов, по 3 сэмпла
fb-bench run avro-03,jq-01 --model gpt-5.5 --samples 3 --output probe

# просто перепечатать лидерборд из существующего запуска
fb-bench run all --model claude-haiku-4-5 --output run1 --report-only

<bugs> — это один алиас, список через запятую или all; --model — один id, список через запятую, default-lineup или all. Результаты попадают в output/<name>/<bug>/<model>/seed-N/ (score.json, episode.jsonl, transcript.jsonl, cost.json, дистиллированный traj.md); в конце печатается лидерборд. --output принимает простое имя (вложенное в output/) или путь (используется как есть). Каждый запуск получает свою папку: опустите --output — результат попадёт в output/run_<timestamp>; укажите имя уже существующей папки — свежий запуск создаст <name>_<timestamp>, а не продолжит в ней — так что два запуска никогда не делят результаты (--report-only — единственный читатель, открывающий папку на месте).

4. Режимы агента — тот же run, выберите бэкенд через --arm

Три бэкенда агента используют одну точку входа. --arm выбирает, какой из них ведёт задание; всё остальное (<bugs>, --jobs, --samples, --output, папка запуска, лидерборд) одинаково для всех бэкендов.

fb-bench run avro-03 --model gpt-5.5            # --arm api (по умолчанию): модель провайдера
fb-bench run avro-03 --arm codex               # OpenAI codex CLI (по умолчанию gpt-5.5)
fb-bench run avro-03 --arm claudecode --model sonnet --auth sub   # Claude Code CLI
fb-bench run all     --arm codex --jobs 4      # весь корпус, пакетно
  • --arm codex управляет codex exec от OpenAI через bench MCP-сервер. --model задаёт модель codex (по умолчанию gpt-5.5), закреплённую через его config.toml.
  • --arm claudecode управляет CLI Claude Code. --model выбирает модель claude (sonnet/opus/haiku).

Оба вендорских бэкенда принимают --auth {api,sub}: api = API-ключ провайдера (OPENAI_API_KEY / ANTHROPIC_API_KEY, оплата по мере использования, без троттлинга), sub = вход по подписке (codex: план ChatGPT Plus/Pro/Business/Edu/Enterprise; claudecode: OAuth claude.ai). По умолчанию — auto: предпочитает api, когда API-ключ присутствует, иначе переключается на sub.

Опционально — установите CLI вендора для используемого бэкенда

Это опциональные дополнения и не устанавливаются через pip install -e .. Бэкенду по умолчанию --arm api они никогда не нужны. Установите только тот CLI, чей бэкенд вы планируете запускать (обоим нужен Node):

# --arm codex → OpenAI Codex CLI. Аутентифицируйтесь один раз, в соответствии с --auth:
npm install -g @openai/codex
#   --auth api (по умолчанию, когда задан OPENAI_API_KEY):
printenv OPENAI_API_KEY | codex login --with-api-key
#   --auth sub (нужен план ChatGPT Plus/Pro/Business/Edu/Enterprise; бесплатный
#   аккаунт ChatGPT не может использовать модели codex):
codex login                                  # войдите со своим планом ChatGPT

# --arm claudecode → Claude Code CLI.
npm install -g @anthropic-ai/claude-code
#   --auth api (по умолчанию, когда задан ANTHROPIC_API_KEY): ничего делать не нужно
#   --auth sub: одноразовый OAuth-вход claude.ai
claude

Задание всегда слепое

Скачать инструмент