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

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

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

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

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

Категории

Все категории
Loading categories
TamarinAgent — UI с участием человека в цикле, который преобразует описания протоколов на естественном языке или C/C++ в проверяемый Protocol IR, а затем генерирует модели Sapic+/Tamarin для формальной верификации безопасности. | Kitploit
Инструменты/GitHubGitHub/laplace1002/tamarinagent
Статический анализАнализ уязвимостейАнализ КодаКриптографияУтилиты и фреймворкиСтатьи и ИсследованияОбучение и ОбразованиеБезопасность ИИ
GitHublaplace1002/tamarinagent

TamarinAgent

UI с участием человека в цикле, который преобразует описания протоколов на естественном языке или C/C++ в проверяемый Protocol IR, а затем генерирует модели Sapic+/Tamarin для формальной верификации безопасности.

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

Популярное

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

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

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

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

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

UI проверки Protocol IR с учётом уверенности

Этот репозиторий содержит локальный UI с участием человека в цикле для моделирования протоколов безопасности с помощью LLM. Он поддерживает рабочий процесс, описанный в нашей работе:

Confidence-Guided Protocol IR for LLM-Aided Security Protocol Modeling

Система вводит промежуточное представление протокола (IR) как семантическую контрольную точку между описаниями протоколов на естественном языке и генерацией Sapic+/Tamarin, позволяя рецензентам проверять семантическую точность сгенерированных LLM моделей протоколов до формальной верификации.

Предпросмотр UI

Приведённые ниже скриншоты показывают подготовленный рабочий процесс Sigfox, загруженный в UI проверки.

Импорт рабочего процесса

Sigfox workflow import view

Проверка полей

Sigfox workflow review UI

Результаты Tamarin

Sigfox Tamarin proof results

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

  • run_contract_review_ui.py: локальный HTTP-сервер и API рабочего процесса.
  • contract_review_ui/: браузерный UI.
  • protocol_ir_pipeline/: обработка IR, генерация контракта моделирования, генерация Sapic+, исправление, линтинг доказательств и вспомогательные средства Tamarin.
  • protocol_ir_pipeline/c_to_ir.py: поэтапное извлечение ProtocolIR из исходного кода C/C++ со встроенными промптами.
  • scripts/c_to_protocol_ir.py: точка входа командной строки для потока извлечения из C/C++.
  • config/: конфигурация локального линтинга/поиска по умолчанию.
  • examples/ui_input_cases.json: готовые для UI входные данные бенчмарка, использованные в экспериментах.
  • examples/ui_inputs.md: удобные для копирования входные данные бенчмарка для ручного заполнения UI, сгруппированные по сложности.
  • examples/protocol-abstraction-cases.json: встроенная библиотека подсказок абстракции, используется только при включении в UI.
  • examples/prepared_workflows/gpt55/: снимки исходного IR и IR, проверенного человеком, для случаев бенчмарка.
  • examples/user_tested_workflows/deepseek_ui_20260615/: рабочие процессы Toy и Sigfox, протестированные автором вручную через UI.
  • NOTICE.md: примечания об атрибуции и области артефакта.
  • LICENSE: текст лицензии GPLv3.

Требования

  • Python 3.10+
  • Ключ API LLM для DeepSeek, OpenAI, Anthropic или OpenAI-совместимой конечной точки Llama
  • tamarin-prover в вашем PATH для компиляции/проверки доказательств. Установите Tamarin Prover, следуя официальным инструкциям для вашей платформы: https://tamarin-prover.com/manual/master/book/002_installation.html.

Установите зависимости Python:

pip install -r requirements.txt

Настройте учётные данные:

cp .env.example .env
# edit .env and set the provider API key

Запуск UI

Запуск с пустым каталогом рабочего процесса:

python3 run_contract_review_ui.py \
  --run-dir runs/local_demo \
  --provider deepseek \
  --host 127.0.0.1 \
  --port 8765

Откройте:

http://127.0.0.1:8765/

Типичный рабочий процесс:

  1. Вставьте описание протокола на естественном языке и сгенерируйте исходный IR/контракт моделирования.
  2. Проверьте и отредактируйте семантические поля в Messages, Checks, Events, Proof Targets и Attack Surface.
  3. Нажмите Save Reviewed, чтобы записать modeling_contract.reviewed.json.
  4. Нажмите Generate Sapic+.
  5. Скомпилируйте и докажите с помощью Tamarin, если установлен tamarin-prover.

Save Reviewed не требует подтверждения каждого значка проверки. Подтверждение полей полезно для отслеживания прогресса проверки и для критичных для доказательства подсказок генерации, но сохранённые правки всё равно используются при генерации.

Извлечение из исходного кода C/C++

Этапы извлечения, контракты вывода JSON и промпты находятся в protocol_ir_pipeline/c_to_ir.py.

Запустите поэтапное извлечение с помощью LLM:

python3 scripts/c_to_protocol_ir.py \
  --source path/to/protocol.c \
  --output-dir runs/c_to_ir_demo \
  --name MyProtocol \
  --provider deepseek

Этот репозиторий включает очищенный демонстрационный артефакт C-to-IR для tpm2-sessions.c. Следующая команда запускает UI и открывает демонстрацию:

python3 run_contract_review_ui.py \
  --run-dir runs/local_demo \
  --provider deepseek \
  --host 127.0.0.1 \
  --port 8765
http://127.0.0.1:8765/c-code-demo

Проверка Protocol IR

Protocol IR фиксирует семантические решения, которые должны быть корректными, чтобы итоговая формальная модель была осмысленной, включая:

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

Подсказки абстракции

UI может найти встроенную библиотеку подсказок абстракции после запуска, но не использует её, если пользователь не отметит Use abstraction hints перед генерацией Sapic+. Когда этот флажок включён, бэкенд извлекает подсказки по проектированию доказательств из:

examples/protocol-abstraction-cases.json

Вы можете заменить эту библиотеку или использовать другую с помощью:

python3 run_contract_review_ui.py \
  --run-dir runs/local_demo \
  --abstraction-hints-path /path/to/protocol-abstraction-cases.json

Подготовленные снимки IR

examples/prepared_workflows/gpt55/ содержит снимки исходного IR и IR, проверенного человеком, для случаев бенчмарка. Каждый случай включает только:

ir/protocol_ir.json
ir/protocol_ir.reviewed.json

Эти файлы представляют собой компактные примеры IR до и после проверки человеком.

Протестированные пользователем рабочие процессы UI

examples/user_tested_workflows/deepseek_ui_20260615/ содержит два рабочих процесса, которые фактически были запущены через UI во время ручного тестирования:

Toy
Sigfox

Они включают облегчённые артефакты из этих запусков UI: артефакты ввода/проверки, промпты, метаданные вызовов LLM, сгенерированные модели Tamarin, результаты компиляции/исправления и журналы доказательств. Учётные данные API не включены.

Чтобы просмотреть их в UI, запустите сервер с этой библиотекой рабочих процессов:

python3 run_contract_review_ui.py \
  --run-dir runs/tmp_user_tested_review \
  --workflow-library-dir examples/user_tested_workflows/deepseek_ui_20260615 \
  --provider deepseek \
  --host 127.0.0.1 \
  --port 8765

Затем откройте UI, используйте Select prepared workflow... и выберите easy / Toy или easy / Sigfox.

Существующая библиотека рабочих процессов

При желании вы можете предоставить каталог подготовленных рабочих процессов для импорта из UI:

python3 run_contract_review_ui.py \
  --run-dir runs/local_demo \
  --workflow-library-dir /path/to/prepared/workflows \
  --provider deepseek

Входные данные бенчмарка

examples/ui_input_cases.json содержит 18 входных данных протоколов, подготовленных для этого UI проверки. Они представлены в виде описаний на естественном языке, предположений, целей и ожидаемых результатов, которые можно скопировать в UI.

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