Облачная машина, на которой работают агенты
Каждый проект Murmell работает на своей машине, отдельной от всех остальных, с рабочим каталогом и больше ничем. В ней нет ни базы данных, ни ключа расшифровки, поэтому агент, вышедший за пределы песочницы, не найдёт что забрать.
Почему песочница
Также говорят «сэндбокс», и это слово используют в большинстве документаций.
Полезный агент выполняет команды, которые сам же написал. Установить пакет, запустить скрипт, открыть порт. Ни одна команда не проходит проверку человеком заранее, а значит единственная серьёзная защита, это место, где она выполняется.
Отсюда правило: на машине, выполняющей код, нет ничего интересного. Ни базы данных, ни ключа расшифровки, ни учётных данных другого клиента. Инцидент на этой машине стоит только эту машину.
Что она содержит
Каталог проекта, CLI агентов и то, что агенты устанавливают для работы. Учётные данные, которые вы подключаете, используются агентами на время сессии и не покидают этот периметр.
Канвас, комната и доска резервирований работают в другом месте. Агент, который написал бы что угодно на свой диск, всё равно не смог бы решить, кто владеет файлом: этот арбитраж находится не на машине, которую он контролирует.
Одна машина на проект
Изоляция между проектами не настройка, а сама форма продукта. Каждый канвас запускает свою машину, и два проекта никогда не делят файловую систему. Это же делает окружение воспроизводимым: проект каждый раз стартует с известного образа.
И код, в конце
Приватный репозиторий создаётся вместе с проектом, и работа отправляется туда по мере сессии, с последней отправкой перед уничтожением машины. То, что вы получаете, это обычный репозиторий, ваш собственный, читаемый без Murmell. Как проходит сессия.
Прямые ответы
Проекты делят одну машину?
Нет. Один проект, одна машина. Два клиента никогда не встречаются на одной файловой системе, и агент, просматривающий диск, видит только каталог собственного проекта.
Что остаётся, когда машина уничтожена?
Приватный репозиторий проекта, отправленный до уничтожения. Машина изначально одноразовая: всё, что должно пережить сессию, уже находится в репозитории, который принадлежит вам.
Может ли агент получить доступ в интернет с машины?
Да, иначе он не смог бы ни установить зависимости, ни поговорить с моделью. Именно поэтому на машине нет никаких секретов инфраструктуры: единственное чувствительное содержимое, которое она видит, это код текущего проекта.