
nah v0.11.0
защитный механизм, блокирующий катастрофические действия агента
дорогие ошибки заканчиваются здесь
защита, блокирующая катастрофические действия агента
nahguard.ai • что он блокирует • как он решает • установка • расширение • модель угроз
claude code · codex · cursor · pi · + ещё 11
nah — это защита, которая находится в пути хуков вашего кодирующего агента и читает вызовы инструментов до их выполнения. Она блокирует вызовы, которые может доказать как катастрофические, и оставляет всё остальное вашему рантайму.
nah — это всего лишь один бинарник на Rust: вердикт детерминирован и не требует LLM. Расширения — это просто программы. Укажите вашему агенту на документацию nah и попросите его создать пользовательскую защиту nah.
Он узнаёт катастрофу, когда видит её.
46 защит, 29 включены по умолчанию, охватывающих семь классов катастроф: перехваты выполнения, кража секретов, уничтожение файловой системы, git-катастрофы, разрушение инфраструктуры, хранилищ и резервных копий, операции с реестрами пакетов и действия по отключению питания и остановке служб хоста.
| Защита | Блокирует |
|---|---|
exec-remote | Выполнение полезной нагрузки, явно полученной из сети. |
exec-decoded | Выполнение, достигнутое из видимой стадии декодирования. |
exec-obfuscated | Закодированное, выбранное по шаблону или неразрешённое выполнение. |
exec-network-shell | Оболочки, привязанные к сетевому соединению, включая netcat, socat и перенаправление оболочки. |
secrets-env | Чтение файлов .env и чувствительных базовых имён, а также прямой вывод каталогизированных переменных окружения с учётными данными. |
secrets-credentials | Чтение или запись путей к приватным ключам и хранилищам учётных данных. |
secrets-exfil | Видимый поток от чувствительного источника к сетевой стадии. |
secrets-store-delete | Оставшееся проверенное удаление хранилища секретов с восстановимой или контекстно-зависимой семантикой. По умолчанию выключено. |
secrets-store-destroy | Доказанное необратимое уничтожение хранилища секретов: удаление версии/метаданных/движка Vault, принудительное удаление AWS и удаление SSM, удаление всего секрета в Google, очистка Azure и удаление конфигурации Doppler. |
secrets-store-read | Проверенное чтение значений через распространённые CLI менеджеров секретов. |
fs-system-tree | Удаление, доказанное перемещение корневой записи или рекурсивные изменения прав, выбирающие корень файловой системы или системное дерево. |
fs-home | Удаление или рекурсивные изменения прав, выбирающие корень домашнего каталога. |
fs-outside-workspace-delete | Рекурсивное удаление за пределами активного проекта, кроме проверенных временных корней. По умолчанию выключено. |
fs-permission-weaken | Режимы chmod, которые доказуемо предоставляют права на запись для всех или права setuid/setgid. По умолчанию выключено. |
fs-project-root | Конкретное рекурсивное удаление в области проекта или известные рекурсивные изменения прав, выбирающие точный корень проекта или его точные шаблоны *, .* или {*,.*} для всего корня. У find -delete без явного начального пути нет смоделированной цели. |
fs-raw-device | Видимые записи на необработанные устройства хранения и триггер sysrq. |
fs-volume-destroy | Определённое уничтожение логических томов, пулов хранения и активных наборов данных ZFS. |
fs-forkbomb | Структурно распознанные шаблоны fork-бомб в оболочке. |
fs-auth-identity | Изменение или удаление проверенных файлов аутентификации, идентичности и политик привилегий хоста, включая рекурсивное удаление их родительских каталогов. |
fs-shell-profile | Изменения проверенных путей профилей оболочки пользователя. По умолчанию выключено. |
fs-startup-management | Проверенные команды постоянного управления systemctl, launchctl и crontab. По умолчанию выключено. |
fs-startup-persistence | Изменения проверенных путей служб, расписаний, входа в систему, автозапуска и загрузчика. |
git-clean-force | Эффективная принудительная очистка Git, выбирающая корень проекта. |
git-force-push | Принудительные push-и Git без защиты арендой и принудительные push-и с арендой, явно нацеленные на main или master. |
git-hard-reset | Жёсткие сбросы Git. |
git-history-rewrite | Отдельные непринудительные перезаписи истории Git, включая rebase, фильтрацию, истечение срока восстановления, агрессивную или очищающую сборку мусора и принудительные push-и с арендой, включая явные статические refspec, нацеленные на main или master. По умолчанию выключено. |
git-rewrite-force | Перезапись истории, которая явно обходит проверки безопасности или резервного копирования. |
git-metadata | Деструктивные записи или удаление, выбирающие долговечные метаданные истории Git. |
git-path-discard | Определённое перезаписывание именованных путей через checkout, restore и git show по тому же пути. По умолчанию выключено. |
git-protected-push | Push-и, чей явный статический refspec нацелен на main или master. Пустые push-и остаются вне этой защиты. По умолчанию выключено. |
git-recovery-destroy | Очистка всей коллекции stash или немедленное уничтожение истории восстановления Git в масштабе всего репозитория. |
git-ref-delete | Проверенное удаление локальных и удалённых ref, записей stash, рабочих деревьев и рабочих деревьев подмодулей. По умолчанию выключено. |
git-remote-repo-delete | Точное удаление всего репозитория GitHub и GitLab через их CLI и REST-маршруты. |
git-remote-resource-delete | Статически нацеленное удаление размещённых ресурсов GitHub и GitLab через проверенные команды CLI и REST-маршруты. По умолчанию выключено. |
git-worktree-discard | Общепроектный checkout или restore, доказанные принудительные изменения веток и принудительное удаление рабочего дерева или деинициализация подмодулей. |
infra-container-reset | Команды Podman, которые сбрасывают полное локальное или выбранное состояние рантайма. |
infra-container-volume-delete | Широкая очистка неиспользуемых томов через проверенные команды prune Docker и Podman. По умолчанию выключено. |
infra-iac-destroy | Полностью видимое уничтожение всего стека Terraform, OpenTofu и Pulumi. По умолчанию выключено. |
infra-k8s-delete | Статическое удаление пространства имён, проверенных ресурсов кластера и массовое удаление проверенных ресурсов в пространстве имён через kubectl. По умолчанию выключено. |
storage-backup-destroy | Полное удаление репозитория резервных копий или всех резервных копий через проверенные команды Borg, Restic и Velero. |
storage-recursive-delete | Широкое удалённое удаление и синхронизация с удалением назначения через проверенные облачные CLI и CLI синхронизации. По умолчанию выключено. |
storage-snapshot-delete | Проверенное удаление снимков, архивов, томов и политик хранения. По умолчанию выключено. |
registry-publish | Проверенные команды публикации пакетов. По умолчанию выключено. |
registry-unpublish | Проверенная отмена публикации пакетов, необратимый yank в RubyGems и смена владельца опубликованного имени. |
sys-power | Полностью видимые действия по выключению, перезагрузке, остановке и приостановке локального хоста. |