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

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

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

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

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

Категории

Все категории
Loading categories
halo-record — Защищённые от несанкционированного вмешательства журналы аудита для ИИ-агентов: связанные хэш-цепочкой записи Runtime Records, без зависимостей, проверяемые кем угодно. | Kitploit
Инструменты/GitHubGitHub/bkuan001/halo-record
ФорензикаБезопасность Цепочки ПоставокРеагирование на ИнцидентыБезопасность ИИ
GitHubbkuan001/halo-record

halo-record

Защищённые от несанкционированного вмешательства журналы аудита для ИИ-агентов: связанные хэш-цепочкой записи Runtime Records, без зависимостей, проверяемые кем угодно.

Репозиторий
63610018 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

halo-record

Аудит-трейлы для AI-агентов с защитой от подмены — Runtime Records, связанные хеш-цепочкой и отображаемые в виде Runtime Report, который ваши клиенты могут проверить сами.

Каждое действие, фиксируемое вашей инструментацией (вызовы инструментов, вызовы моделей, доступ к данным, подтверждения), становится одной Runtime Record в журнале, доступном только для добавления и связанном хеш-цепочкой; Runtime Report — это та же цепочка, отрендеренная в виде HTML-страницы, которая пересчитывает хеш-цепочку в браузере читателя и отображает то, что показывает, на основе проверенных ею записей (для проверки, не полагающейся на код самой страницы, запустите halo verify на JSONL). Любая сторона, владеющая контрольной точкой цепочки, может убедиться, что записи вплоть до этой контрольной точки не были изменены с момента её создания, не доверяя тому, кто их создал — эта контрольная точка является несущим элементом: одна лишь цепочка обеспечивает защиту от подмены для всех, кроме стороны, управляющей регистратором (LIMITS.md §1). Когда служба безопасности клиента спрашивает: «что ваш агент делал с нашими данными?», вы отправляете им ссылку вместо абзаца текста. Проверки безопасности уже включают вопросы об AI рядом с чек-листом SOC 2 — и всё чаще эти вопросы исходят из ISO 42001, статей EU AI Act о ведении записей и собственных опросников клиентов. Сегодня письменное заверение всё ещё проходит. Ставка этого проекта в том, что так будет недолго.

Упоминается в Help Net Security (август 2026).

Формат записей открыт и свободен для реализации. Этот пакет — эталонная реализация: регистратор, верификатор, клиент-свидетель и сервер отчётов.

Используете halo-record или думаете об этом? Расскажите, кто вы и для чего → Кто использует halo-record?

Проверьте сами

Вас просят внедрить регистратор внутрь вашего агента. Не стоит принимать это на веру:

  • Ноль зависимостей времени выполнения. Только стандартная библиотека. pip install halo-record устанавливает ровно один пакет.
  • Никаких сетевых вызовов, кроме четырёх опциональных — привязка к свидетелю (отправляет id субъекта, количество записей и два отпечатка цепочки — голову и корень цепочки), чтение контрольных точек свидетеля обратно (отправляет id субъекта), метка времени RFC 3161 (отправляет только хеш состояния контрольной точки в Timestamp Authority) и halo serve --verify-email (отправляет одноразовый код и имя субъекта отчёта по SMTP через сервер, настроенный в $HALO_SMTP_HOST, на адрес, введённый просматривающим отчёт). Все они отключены, пока вы их не вызовете; никакое другое содержимое записей не покидает вашу инфраструктуру.
  • Сырые аргументы инструментов хешируются, рядом — отредактированная сводка. Аргументы хранятся как канонический хеш плюс сводка: текст аргументов с маскированием известных шаблонов секретов и PII, обрезанный до 200 символов. Короткий ввод, не совпадающий ни с одним шаблоном, попадает в сводку целиком; режим только хешей (summaries=False) не сохраняет сводку вовсе. Редактирование выполняется по мере возможностей (регулярные выражения по распространённым форматам секретов и PII плюс энтропийный перехватчик): относитесь к этому как к дополнительному уровню защиты, а не как к гарантии. Поля результата, которые вы передаёте помимо summary, сканируются и маскируются теми же шаблонами, но не обрезаются до 200 символов (LIMITS §13).
  • Достаточно мал, чтобы его можно было проверить. ~8 700 строк Python, включая встроенные JavaScript и CSS страницы отчёта (строки кода, без учёта пустых строк, комментариев и docstring). Прочитать всё можно за день.
  • Apache-2.0.
  • Документация первостепенна. LIMITS.md (что цепочка не может доказать), PRIVACY.md (что содержат записи и что покидает вашу машину), RETENTION.md (работа в условиях политики хранения) и REVIEWERS.md — независимая проверка из четырёх команд плюс формат цитирования для результатов проверки.

Что доказывает каждый уровень — несущее различие в этом проекте (LIMITS.md §1): цепочка, которую вы храните сами, доказывает, что записи не были отредактированы, относительно головы, которая уже есть у кого-то; только контрольные точки, хранящиеся вне оператора, доказывают, что ни одна не была удалена; и никакой хеш не доказывает, что каждое действие было зафиксировано.

УтверждениеСобственная цепочка+ Внешние контрольные точки+ Доверенная фиксация
Обнаружение правок в установленном артефакте✔✔✔
Обнаружение перезаписи зафиксированной истории—✔✔
Обнаружение отсутствующих/запоздалых контрольных точек—✔ (согласованная периодичность)✔
Доказательство, что каждое действие было записано——зависит от границы фиксации

Посмотрите до установки: пример Runtime Report — вымышленные данные, настоящая цепочка, и его скрипт пересчитывает хеш-цепочку встроенных записей в вашем браузере при открытии.

Демо за 60 секунд

Агент не нужен. С uv устанавливать ничего не требуется:

uvx --from halo-record halo demo --serve

или классическим способом:

pip install halo-record
halo demo --serve

Либо создаёт вымышленного поставщика support-агента с двумя клиентами, фиксирует цепочки (с локальным файлом-свидетелем, заменяющим одного внешнего по отношению к оператору — см. LIMITS.md §1), выдаёт их защищённые Runtime Reports и открывает консоль оператора в вашем браузере. Затем попробуйте тест на подмену: удалите строку из одного из файлов .jsonl и перезагрузите. Отчёт это обнаружит.

Запишите собственного агента

Одна строка на границе:

from halo_record import trace

agent = trace(run_my_agent, profile="my-agent", log="audit.jsonl")   # wraps your entrypoint; records the run boundary to ./audit.jsonl — add record_call() or a framework adapter at each tool boundary to capture individual calls

Удобный shim from halo import ... также поставляется — но имя halo на PyPI принадлежит не связанному с ним пакету терминального спиннера, и если этот пакет установлен, он выигрывает импорт. halo_record однозначен, поэтому в примерах используется он.

Без log= записи попадают в ~/.halo/my-agent.jsonl (одна цепочка на агента). Обёртка фиксирует границу запуска; доказательства содержатся в записях отдельных вызовов. Захватывайте их с помощью адаптера фреймворка (матрица ниже) — или явно, что также показывает, как связываются делегирования:

from halo_record import Recorder, record_call

rec = Recorder("audit.jsonl")

with record_call(rec, "crm.lookup", {"account": "acct-9"}) as call:            # one sealed record per tool call
    call.result = crm.lookup("acct-9")

with record_call(rec, "payments.refund", {"amount": 120},
                 parent_id=rec.last_record_id()) as call:                      # child links to the action that spawned it
    call.result = payments.refund(120)

Затем сформируйте отчёт:

halo report audit.jsonl -o report.html    # one chain -> HTML that re-verifies in the browser
halo serve ./records --port 8721          # all tenants, gated per customer
Скачать инструмент