Локальный инструмент Axiom заявляет, что может остановить AI-агента до записи изменения в файл, если тот нарушает заранее заданное ограничение. README проекта описывает интеграцию с Claude Code и Cursor через pre-write hook, а также режим stdin/stdout для совместимых агентов. Для VS Code с Copilot предусмотрен только сигнал после сохранения, поэтому такой сценарий уже не предотвращает саму запись. Источник: README Axiom.
Схема работы до записи

Axiom описывает проверку как три этапа. Noema извлекает из контекста задачи типизированные ограничения с помощью регулярных выражений. Lemma сопоставляет их с инвариантами, используя детерминированную логику на Python. Manam переводит результат в одно из трёх состояний: TRUE, FALSE или UNKNOWN.
- Извлечение. Инструмент ищет в контексте задачи ограничения вроде максимальной суммы платежа.
- Сопоставление. Найденное условие сравнивается с инвариантом проекта.
- Решение. По заявлению README, при FALSE Axiom останавливает запись с ошибкой
AxiomConstraintViolation, а при UNKNOWN приостанавливает действие и запрашивает уточнение.
Такой барьер должен срабатывать не после ревью и не во время тестов, а на границе между вызовом инструмента редактирования и фактической записью файла.
Пример с лимитом платежа
В README разработчик проекта показывает сценарий, где агент записывает MAX_TRANSACTION = 75000, хотя политика допускает значение не выше 50000. В этой демонстрации Lemma возвращает сообщение transaction_value = 75000.0 violates lte 50000, после чего изменение отклоняется, а агент получает причину отказа и должен запросить уточнение.
Это пример, представленный разработчиком проекта в README, а не результат независимого теста редакции. Его практический смысл ограничен ситуацией, в которой ограничение распознано, значение доступно для предусмотренного шаблона, а агент действительно подключён к блокирующему pre-write hook.
Какие нарушения заявлены среди обнаруживаемых
README перечисляет несколько классов проверок: жёстко заданные платежные и числовые пределы, подозрительные проверки авторизации вроде user.id == 1, безусловные возвраты в auth-коде, опасные Bash-команды, секреты, зависимости с похожими названиями, rate limits, ограничения загрузки файлов, произвольные SQL-операторы LIMIT и выдуманные API-квоты.
Проверки авторизации зависят от пути: README указывает каталоги auth/, middleware/, permissions/ и roles/. Тот же шаблон в файле вроде src/utils/helpers.py может быть разрешён. Для Claude Code и Cursor заявлена блокировка до записи; для Aider, Continue и других агентов она зависит от ручного подключения stdin-режима.
Где барьер перестаёт быть надёжным
Сам автор README подчёркивает, что обнаружение основано на регулярных выражениях и AST-шаблонах, а не на семантическом анализе. Документ прямо предупреждает: небольшая обфускация способна обойти проверки, а инструмент рассчитан на распространённые случайные нарушения, не на противодействие атакующему.
В качестве конкретных пробелов указаны ограничения, спрятанные в переменных, и математические выражения: например, 10000 * 8 может быть прочитано как 10000, а не как 80000. Также отдельно названы квоты в переменных окружения, лимиты в байтах вместо мегабайт, алиасы глубже одного перехода и LIMIT внутри комментариев или строк. Если агент пишет через канал, где Axiom не блокирует сохранение, защитный эффект исчезает.
Доступ и границы подтверждения
README заявляет, что Axiom не требует API-ключей и внешних токенов, а также описывает его как инструмент без зависимостей. Установка и фактическая совместимость с конкретным окружением в доступных материалах независимо не проверялись. Сообщение о публикации проекта появилось в Hacker News 6 ноября 2026 года, но дата самого README и автор репозитория в источнике не указаны.
Для читателя это означает следующее: Axiom может быть полезен как локальный фильтр типовых ошибок перед записью, но не заменяет тесты, ревью и проверку бизнес-смысла кода. Он не доказывает, что ограничение соблюдено во всех формах выражения, и не делает автономного агента безопасным против намеренного обхода.




