Модель безопасности NanoClaw
Цели урока
После прохождения этого урока вы сможете:
- 1Разобраться в контейнерной изоляции агентов
- 2Понять принцип минимальных привилегий в NanoClaw
- 3Изучить модель доступа к файловой системе
- 4Сравнить уязвимости OpenClaw («летальная триада» Cisco) с защитой NanoClaw
Defense in Depth: многоуровневая защита
Модель безопасности NanoClaw построена на принципе «defense in depth» — эшелонированной обороны. Каждый уровень защиты работает независимо, и компрометация одного уровня не означает падения всей системы.
Контейнерная изоляция
Каждый агент NanoClaw запускается внутри изолированного контейнера операционной системы. На macOS 15+ используются Apple Containers — встроенная технология виртуализации Apple. На Linux — стандартный Docker. Контейнер обеспечивает изоляцию файловой системы, сети, процессов и памяти.
«Летальная триада» OpenClaw (отчёт Cisco)
В 2025 году исследователи безопасности Cisco обнаружили в OpenClaw критическую комбинацию уязвимостей, которую назвали «lethal trifecta» — летальная триада:
- Произвольное выполнение кода — агент может исполнять любые команды на хост-системе
- Неограниченный доступ к файлам — чтение и запись файлов без ограничений
- Отсутствие изоляции — все скиллы работают в одном процессе с общей памятью
Комбинация этих трёх уязвимостей позволяет злоумышленнику получить полный контроль над системой через скомпрометированный скилл или prompt injection атаку. NanoClaw был создан как прямой ответ на эту проблему.
Как NanoClaw нейтрализует каждую угрозу
| Угроза (OpenClaw) | Защита NanoClaw |
|---|---|
| Произвольное выполнение кода | Код выполняется внутри контейнера, не имеющего доступа к хост-системе |
| Неограниченный доступ к файлам | AI видит только явно смонтированные директории (whitelist-подход) |
| Отсутствие изоляции | Каждый агент и каждый суб-агент в swarm работает в собственном контейнере |
| Prompt injection | Даже успешная атака ограничена рамками контейнера |
| Утечка памяти между агентами | Контейнеры имеют изолированную память, нет shared state |
Файловая система: whitelist-подход
NanoClaw использует принцип минимальных привилегий для доступа к файлам. По умолчанию агент не видит файловую систему хоста вообще. Администратор явно указывает, какие директории монтируются в контейнер:
{
"agent": "personal-assistant",
"mounts": [
{ "host": "~/Downloads", "container": "/data/downloads", "mode": "rw" },
{ "host": "~/Documents/reports", "container": "/data/reports", "mode": "ro" }
]
}Обратите внимание на параметр mode: можно дать агенту доступ только на чтение (ro) к определённым папкам. Это дополнительный уровень защиты — даже если агент скомпрометирован, он не сможет модифицировать файлы в read-only директории.
Вопросы для размышления
- •Какие директории вы бы смонтировали для своего персонального агента?
- •Почему whitelist-подход безопаснее, чем blacklist-подход к файловой системе?
