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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/off-by-1-labs/flawed
Оборонительные ИнструментыСтатический анализСканеры уязвимостейДинамический анализ (песочница)Анализ уязвимостейАнализ КодаФаззингМашинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеБезопасность ИИ
22551 месяц назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
GitHub
off-by-1-labs/flawed

FLAWED

Артефакты, похожие на исправления, со встроенными дефектами

Репозиторий
Поделиться
FLAWED

Fix Like Artifacts with Embedded Defects

Исследовательский стенд для измерения того, насколько хорошо ИИ-агенты исправляют уязвимости.

License MIT Python 3.11+ Requires Docker Agents Claude, Codex, Gemini

Быстрый старт · Наборы данных · Документация · Модель безопасности · Участие в разработке


FLAWED извлекает проект с открытым исходным кодом на коммите с известной уязвимостью, передаёт ИИ-агенту описание бага и просит написать патч. Агент никогда не видит настоящее исправление из upstream.

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

Как это работает

root@kitploit:~
flowchart LR
    spec[bug spec] --> clone
    clone["clone<br/>(open net)"] --> generate
    generate["generate<br/>(offline)"] --> validate
    validate["validate<br/>(offline)"] --> ast["ast<br/>(offline)"]
    generate -.->|"patch.diff"| store[(Postgres)]
    validate -.->|"verdict"| store
    ast -.->|"summary"| store
    store --> ui[web UI + notebook]

Каждая стадия выполняется в собственном контейнере. Только у clone есть доступ к сети. Каждая последующая стадия ограничена доступом только к API провайдера LLM, поэтому агенты не могут получить подсказки или исправление из upstream во время выполнения.

Возможности

ВозможностьЧто она даёт
Повторная выборкаЗапуск выполняет N итераций одного и того же ввода, поэтому результаты — это распределения, а не отдельные случаи.
КампанииПрогон одного бага по вариантам патчеров и стилям промптов, от расплывчатого «пофикси это плз» до полного advisory, и сравнение результатов на живой панели.
Оценка результатовКаждый патч попадает в один из пяти сценариев, от S1 (чистое исправление) до S5 (баг не исправлен и внесена новая уязвимость).
Перекрёстная проверкаПатчи переоцениваются другими моделями, а итоговые числа усредняют оценки самопроверки и перекрёстной проверки, чтобы предвзятость отдельного судьи не доминировала.
Обнаружение читерстваАудитор помечает итерации, в которых агент нашёл исправление из upstream вместо самостоятельного решения бага.

FLAWED сталкивает Claude, Codex и Gemini CLI лицом к лицу на одинаковых входных данных.

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

[!WARNING] FLAWED монтирует сокет Docker (эквивалент root на хосте) и выполняет недоверенный сторонний код внутри своих стадийных контейнеров. Запускайте его на машине, которой доверяете такую нагрузку. См. docs/security-model.md.

Вам нужен Docker с доступным сокетом демона.

root@kitploit:~
# 1. Configure. Writes .env for you (data dir + provider API keys)
./setup.sh

# 2. Bring up the stack (Postgres, API + worker, web UI, notebook)
docker compose up --build

# 3. Open http://127.0.0.1:8080

Затем выполните первый запуск.

  1. Импортируйте спецификацию бага. Примеры спецификаций поставляются в bugs/. Перетащите одну на страницу Bug Specs в веб-интерфейсе или используйте CLI.
    root@kitploit:~
    ./scripts/import-all-bugs.sh
    
  2. Запустите прогон из веб-интерфейса. Выберите спецификацию, агента + модель, вариант и число итераций. Страница прогона транслирует прогресс в реальном времени.

[!NOTE] Первый прогон против крупного upstream (например, Chromium) идёт медленно. Стадия validate клонирует весь репозиторий один раз, чтобы сравнить с настоящим патчем из upstream. Клон кэшируется и переиспользуется в дальнейшем.

Настройка разработки на хосте (без compose)

Вам нужны Docker, Node 20+, pnpm, uv и @devcontainers/cli (npm i -g @devcontainers/cli). Пользователи Nix могут использовать nix-shell для всего, кроме Docker.

root@kitploit:~
make dev                        # uv sync + web deps
docker compose up -d postgres   # FLAWED needs a Postgres to talk to
cp .env.example .env            # points FLAWED_DB_URL at it
uv run flawed init              # builds base images, creates the schema
uv run flawed serve             # API + worker + webapp on port 8080

Для цикла веб-разработки запустите make web-dev во втором терминале. Он обслуживает UI на порту 5173 и проксирует /api на flawed serve.

Изолированный devcontainer для безопасного запуска ИИ-агентов программирования против этого репозитория описан в .devcontainer/README.md.

Спецификации багов

Спецификация бага — это единица ввода. Она содержит репозиторий, уязвимый коммит, описание бага, необязательный воспроизводитель и набор вариантов промпта, моделирующих то, как баг мог бы реалистично быть описан (находка SAST, отчёт bug-bounty, embargoed advisory, сырой PoC, …). Спецификации версионированы и неизменяемы, поэтому промпт и вердикт исторического прогона никогда не меняются незаметно.

Контракт JSON находится в bugs.schema.json и описан в docs/bug-specs.md. Все поставляемые спецификации описывают публично раскрытые уязвимости, исправленные в upstream.

Хранилище

Postgres — единственный источник истины. Метаданные прогонов и байты артефактов (патчи, вердикты, транскрипты, логи) хранятся в базе данных, поэтому развёртывание полностью описывается его БД. Каталог data/ — это временная рабочая область, которую стадии монтируют во время выполнения.

  • Резервное копирование / восстановление всего развёртывания с помощью scripts/export_dataset.py и scripts/import_dataset.py (также доступно из веб-интерфейса).
  • Пересборка дерева артефактов на диске для офлайн-инспекции с помощью scripts/export_artifacts.py.
  • Изменения схемы управляются через Alembic (uv run alembic upgrade head выполняется автоматически при запуске).

Наборы данных

Мы публикуем готовые наборы данных, чтобы вы могли загружать завершённые кампании вместо того, чтобы запускать всё самостоятельно. Каждый набор данных — это .tar.gz одного полного снимка, размещённый по адресу https://flawed.s3.us-east-1.amazonaws.com.

Все кампании в одном пакете.

ПакетАрхив
Все кампанииfull.tar.gz
Архивы по кампаниям, по одному на модель-патчер (13)
КампанияМодель-патчерРазмерАрхив
CVE-2026-22738 (Spring AI SpEL injection)claude-opus-4-8515.0 MB.tar.gz
CVE-2026-22738 (Spring AI SpEL injection)gpt-5.5663.9 MB.tar.gz
CVE-2026-31431 (Linux algif_aead)claude-opus-4-81.1 GB.tar.gz
CVE-2026-31431 (Linux algif_aead in-place)gpt-5.5966.9 MB.tar.gz
CVE-2026-34197 (ActiveMQ Jolokia RCE)claude-opus-4-8645.2 MB.tar.gz
CVE-2026-34197 (ActiveMQ Jolokia RCE)gpt-5.5819.0 MB.tar.gz
CVE-2026-45185 (Exim BDAT use-after-free)claude-opus-4-81.1 GB.tar.gz
CVE-2026-45185 (Exim BDAT use-after-free)gpt-5.51.0 GB

Из веб-интерфейса (рекомендуется)

Snapshots → Import datasets, вставьте одну из ссылок на архив выше и нажмите Find archives. FLAWED импортирует прямую ссылку .tar.gz как есть и распаковывает её в ваши снимки. Затем восстановите её из списка снимков (восстановление — это отдельный шаг с явным подтверждением).

Импорт обнаруживает несколько архивов сразу только тогда, когда URL — это доступный для листинга бакет или страница-индекс каталога. Ни то, ни другое здесь не применимо, поэтому импортируйте ссылки по одной.

Вручную

Скачайте архив, распакуйте его в каталог снимков (FLAWED_HOST_SNAPSHOT_DIR, или ./flawed-snapshots по умолчанию), и он появится в списке снимков, готовый к восстановлению.

root@kitploit:~
curl -LO https://flawed.s3.us-east-1.amazonaws.com/compressed/campaigns/full/cve-2026-45185-exim-bdat-uaf_full_gpt-5.5_1782988292.tar.gz
mkdir -p "$FLAWED_HOST_SNAPSHOT_DIR"
tar -xzf cve-2026-45185-exim-bdat-uaf_full_gpt-5.5_1782988292.tar.gz -C "$FLAWED_HOST_SNAPSHOT_DIR"

Импорт лишь размещает пакет на диске. Восстановление, которое заменяет текущее развёртывание, выполняется отдельно со страницы снимков.

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

ДокументЧто в нём
docs/architecture.mdКомпоненты, поток данных, схема хранения
docs/pipeline.mdСтадии, семантика итераций, схема контейнеров
docs/security-model.mdСетевая политика по стадиям, песочница, модель угроз
docs/bug-specs.mdКонтракт ввода, композиция промптов, версионирование
docs/cli.mdСправочник команд flawed + переменные окружения
docs/webapp.mdОбзор UI
docs/notebook.mdИнтеграция с JupyterLab + вспомогательный модуль flawed

Структура репозитория

root@kitploit:~
packages/
  flawed-core/             models, DB schema, settings
  flawed-orchestrator/     run lifecycle, worker pool, devcontainer driver
  flawed-stage-*/          the pipeline stages (clone, generate, validate, …)
  flawed-agent-runner/     runs INSIDE the container (Claude / Codex / Gemini CLIs)
  flawed-api/              FastAPI + SSE + notebook proxy
  flawed-cli/              the `flawed` CLI
apps/web/                  React + Vite + Tailwind webapp
containers/                base image, network lockdown, notebook container
bugs/                      example bug specs
docs/                      documentation (see above)

Разработка

ЗадачаКоманда
Синхронизировать все зависимости Python + Nodemake dev
Запустить тестыmake test
Линтингmake lint
Автоформатированиеmake format
Сервер веб-разработки (порт 5173)make web-dev
E2E smoke-тестmake e2e

Тестам нужен Docker. Они поднимают собственный Postgres через testcontainers.

Лицензия и участие

FLAWED выпущен под лицензией MIT. Мы приветствуем вклад. См. CONTRIBUTING.md, и, пожалуйста, сообщайте о проблемах безопасности приватно согласно SECURITY.md.

Скачать инструмент
.tar.gz
CVE-2026-8512 (Chromium fsevents UAF)claude-opus-4-8500.7 MB.tar.gz
CVE-2026-8512 (Chromium fsevents UAF)gpt-5.5342.7 MB.tar.gz
freenginx-26 (Perl SV refcount UAF)gpt-5.5166.4 MB.tar.gz
GHSA-wpqr-6v78-jr5g (Gemini CLI trust model)claude-opus-4-81.2 GB.tar.gz
GHSA-wpqr-6v78-jr5g (Gemini CLI trust model)gpt-5.51.3 GB.tar.gz