Перейти к содержимому
Экосистема AI Vibe

Разборы

ShrekOS: граница доверия для агента ниже контейнера

Редакция 3 сентября 2026 г.

ShrekOS: граница доверия для агента ниже контейнера

Три режима для агента на вашей машине: жёсткая песочница, полный доступ к хосту или прослойка ОС, которая решает, что выдать по запросу. В разборе ShrekOS автор описывает третий путь — не новое ядро и не очередной Docker, а операционную модель, где доверие живёт ниже агента.

Два плохих режима для AI-агента

Полезный агент упирается в бинарный выбор. Среду можно зажать настолько, что обычные задачи становятся неудобными — и вы весь день вручную расширяете разрешения. Или отдать агенту всё больше реальной машины — и один сбой уже бьёт по системе, а не по изолированному процессу.

Автор формулирует это как «restrict until useless, or trust until dangerous». Контейнеры, пространства имён, cgroups, фильтрация исходящего трафика, пакетные менеджеры, принудительный контроль доступа и неизменяемые файловые системы существуют — каждый закрывает свою часть. Но ни один из них сам по себе не дал ему модель, в которой рабочая нагрузка во время работы запрашивает нужные полномочия, а машина решает, выдавать ли их и с какими ограничениями.

Риски, из-за которых «доверять до опасного» пугает, перечислены прямо: галлюцинация модели, отравленная зависимость, внедрение в промпт, обычный баг. Для соло-разработчика с агентом в терминале или IDE это не абстракция — shell-команды сгенерировать легко, полномочия остаются трудной частью.

ShrekOS — композиция механизмов, не ОС с нуля

ShrekOS не заявлен как операционная система, собранная с нуля, и не как новое ядро. Это композиция уже существующих механизмов в согласованную операционную модель: нагрузка решает, какие полномочия нужны прямо сейчас, и запрашивает их у машины.

Контраст с «наивным» хостом нагляден на примере ffmpeg. Агент видит, что инструмента нет, и запускает установку пакета на хосте:

apt install ffmpeg

Проблема не в самом ffmpeg. Постоянная мутация машины — база пакетов, неаудированные зависимости, скрипты установки, символические ссылки, конфиги, root в системных каталогах — это полномочия непредсказуемой программы над реальной системой. Именно эту границу автор хочет перенести из суждения агента в слой ОС.

Агент — клиент, операционная система — арбитр

В модели ShrekOS агент — клиент. Облачная модель, локальная или та, что вы смените через месяц, не меняет модель безопасности: агент может просить, ОС решает, выдавать ли полномочие и под какими ограничениями. Граница — жёсткий лимит, не совет.

Типичные задачи агента по автору: поставить ffmpeg, скомпилировать что-то, «потрогать» проект, запустить инструмент, обратиться к сетевому ресурсу. Сгенерировать правильные shell-команды — лёгкая часть; кто имеет право их выполнить на вашей машине — сложная.

Агенту не обязательно доверять всю машину, чтобы быть полезным на машине. Решение о доверии должно жить ниже агента — в операционной системе, а не в модели и фреймворке.

Для настройки rules и среды выполнения в агентном сценарии это прямой параллель: правила в редакторе или CLI ограничивают намерение, но без слоя ОС остаётся вопрос, что произойдёт, когда агент дойдёт до apt install или сетевого вызова.

Базовый слой: immutable Debian и AppArmor

Техническая база — неизменяемый Linux на Debian: запечатанный образ, атомарные обновления с откатом. Автор сначала смотрел Fedora из‑за запечатанной проверенной загрузки, но отказался в тот же день: база занимает примерно 15% проекта, нужная модель атомарных обновлений образа не привязана к Fedora, а на долгой сборке ему комфортнее в Debian.

AppArmor даёт модель на основе путей: политика лежит в обычных читаемых файлах. Fedora остаётся эталонным образом в VM и «дешёвым обходным путём» через инструменты сборки — не как основа продукта.

Явно названы опоры решения о доверии: неизменяемая база, атомарные обновления с откатом, AppArmor. Заявлена готовность откатить «жёсткую» идею безопасности, если она не несёт нагрузку — привязанность к принципу стабильного аудируемого базового слоя, а не к конкретному дистрибутиву.

Что известно и чего ждать от серии

Материал написан в настоящем времени строительства — релиз и релиз-ноуты не заявлены. Репозиторий, лицензия и статус открытого исходного кода в тексте не фигурируют; утверждать их сейчас нельзя.

Автор обещает продолжение в следующем посте серии — «something much smaller and more concrete»: место, где агент временно получает мощь без власти над машиной. Пост заканчивается вопросом, который задаёт рамку всей линии:

What should an agent be allowed to change?

Для разработчика, который уже гоняет агентов на хосте, это практический чеклист до выхода кода: что вы разрешаете менять сегодня через sudo, docker run и правила в IDE — и где у вас нет слоя, который отвечает «да/нет» вместо модели.


Источники