
Обнаруживаемое вмешательство трассирование, политические шлюзы и перекрёстные проверки для ИИ-агентов: смотрите, что сделал агент и почему.
Tracekit проверяет каждый вызов инструмента, который делает ваш агент, до его выполнения, подписывает каждый вызов и решение в хеш-цепочку
и выдаёт вам один файл .tkb на каждый запуск, который любой может проверить офлайн.
8 из 8атак с подменой перехвачено480 испытаний, со свидетелем (E1) |
570 из 570вредоносных вызовов остановлено11 классов, 1 ложная тревога из 738 (E17) |
< 1 мсдобавляется на вызов инструмента0,91 мс на p99, полный цикл подписанта (E9) |
8 из 8внутренних атак перехваченошлюз слияния на каждом PR (E8) |
Построен по принципу Certificate Transparency: подписанные записи в журнале, доступном только для добавления, которые совместно подписывают независимые свидетели
Открытый формат файла · верификаторы на Python и TypeScript · MIT · работает на ваших собственных машинах
Попробовать · Добавить в вашего агента · Что это доказывает · Что внутри · Доказательства · Как это работает · Пилот с нами · Участие · Документация
Когда агент делает то, чего не должен, вы задаёте три вопроса: что он сделал, было ли это разрешено и можно ли доверять записи? Собственный лог агента не может ответить на третий, потому что агент может его отредактировать. Вот один запуск, записанный двумя способами:
Тот же запуск, записанный на видео: база данных, подписывающая сторона, средство просмотра и обе правки — настоящие; модель — сценарная. Смотреть со звуком (1:47)
В этой демонстрации подписывающая сторона работала под собственным пользователем агента (режим разработки), поэтому агент, который знал как, мог бы прочитать ключ и повторно подписать журнал. Запустите подписывающую сторону там, где агент до неё не доберётся, с видоком (witness) — и он не сможет.
uvx --from tracekit-ai tracekit demo --server
Без API-ключа и ничего устанавливать с помощью uv. На Mac с пустым кэшем это заняло 5
секунд (10 с pip install tracekit-ai в свежем venv). Пакет называется tracekit-ai: tracekit на PyPI — это
не связанный с ним проект. Скриптовый агент делает три вызова, и вы должны увидеть:
== agent run (SCRIPTED: fixed tool calls, not a model)
Bash 'ls': allow
Bash 'sudo rm -rf /': deny TK-D001 TK-D004 TK-F003
Bash 'echo "unterminated': ask TK-SHELL-PARSE
...
Integrity: VERIFIED.
== tamper test: rewrite the denied call as allowed in a copy, then verify again
[FAIL] signatures — 11 record(s), keys valid at their position
seq 4: hash does not match the event
Integrity: FAILED.
Удаление было отклонено до запуска, отложенный вызов выполнился после одобрения, и запуск был проверен. Затем демонстрация переписала отказ на разрешение в копии, и проверка не прошла на изменённой записи.
Три строки:
pip install tracekit-ai
import tracekit; tracekit.instrument() # the first line of your agent; then run it as usual
tracekit last # Integrity: VERIFIED. / Assurance: dev; ...
tracekit.instrument() запускает dev-подписывающий компонент (или переиспользует уже запущенный) и перехватывает и записывает каждый вызов инструмента и модели тех фреймворков, которые он обнаруживает. tracekit last экспортирует ваш последний запуск, проверяет его и сообщает, где он находится.
tracekit view --dev показывает все запуски. На чистой машине пример LangGraph (мок-модель, без API-ключа) установился,
запустился и прошёл проверку за 27 секунд: examples/v2/clean-machine.sh langchain.