Экспорт

Запрос к Muse об архивировании доступных файлов и отправке их на Google Drive выполнился без проблем. Загруженный архив занимал около 2,7 ГБ в сжатом виде и 6,8 ГБ в распакованном. Содержимое включало корневую файловую систему Linux-окружения сеанса: файлы Ubuntu, внутреннюю документацию Muse, код интеграций, шаблоны приложений, файлы памяти и логи агентов. Среди них обнаружились файлы SSH-ключей.

Muse сообщает о создании архива
Рис. 1. Muse описывает более ранний архив своего кода, документации, памяти и бинарников. Указанные здесь объёмы и количество файлов — это утверждения в чате, относящиеся к этому предыдущему экспорту.
Muse доставляет корневой архив на Google Drive
Рис. 2. В сообщении Muse ссылается на muse-full-root.zip и указывает размер 2,86 ГБ. По записям размер был около 2,7 ГБ сжатого архива — эти цифры не совпадают полностью.

Что было сообщено

Результаты переданы через программу поиска уязвимостей Meta и отправлены нескольким сотрудникам. Сам архив, ключи и логи сеансов не публикуются. Здесь — разбор найденного и того, что удалось установить на основе полученных данных.

Основной вывод: файлы внутреннего runtime и конфиденциальный материал могут покидать окружение через обычный диалог и подключённый пункт назначения для экспорта. Не установлено, были ли SSH-ключи активны и какой доступ они могли бы предоставить.

Runtime и его документация

Интересующие файлы лежали в /home/hatch, /opt/hatch и /opt/hatch-image. Hatch — внутреннее имя, которое Meta использует для Muse; оно встречается везде в файлах runtime.

Домашняя директория агента содержала SOUL.md, IDENTITY.md, USER.md, MEMORY.md, AGENTS.md и TOOLS.md. Рядом находились директории для документации, памяти, проектов workspace, каналов, hooks и подписок. Папка agents/ содержала 113 записей подагентов с трассировкой JSONL.

Документация была необычайно полезна для понимания системы. Около 20 файлов Markdown описывали использование браузера, коннекторы, платежи, учётные данные, обработку данных, созданные файлы, голос, цели и расписание. Отдельные руководства были для WhatsApp, спаренного Mac, Tailscale и интеграции устройств под названием Home Link.

Руководство продукта muse.md
Рис. 3. В начале muse.md описывается персональный компьютер-агент для каждого пользователя и указываются ссылки на другие руководства продукта.

Навыки и интеграции

Под /opt/hatch/skills/ насчитывалось примерно 68 директорий навыков. Каждая обычно содержала файл инструкций SKILL.md в паре с инструментом командной строки или вспомогательным кодом. Навыки охватывали Google Workspace, социальные приложения Meta, Outlook, путешествия, покупки, сервисы здоровья, умные дома и генерацию медиа.

Инструкции навыка Share ideas
Рис. 4. Пример файла SKILL.md: share_ideas указывает, когда агент должен его использовать, и описывает упакованный с ним файл INSTALL.md.

Два файла конфигурации, skill-scopes.conf и bin-scopes.conf, намекали на ещё не выпущенные коннекторы в планах Meta. Они содержали имена вроде Slack, Dropbox, Polymarket, Canva, Klaviyo и внутренний internal-facebook-cLI.

Настройка контейнера

/opt/hatch/runtime-cell/ содержал 18 файлов: скрипты для построения корневой файловой системы, запуска её с systemd-nspawn, а также выполнение startup hooks и демонов. Отдельный манифест runtime-cell.kdl описывал пакеты и systemd-модули в образе.

По этим файлам получилось достаточно чёткое представление о том, как собиралось назначенное Linux-окружение. Их было недостаточно для аудита всего сервиса или доказательства чего-либо об инфраструктуре вне этого окружения.

Spaces и построители файлов

Крупнейший проект исходного кода — фреймворк Spaces, который Muse использует для построения и запуска приложений. Его TypeScript-стартер включал React-клиент, server actions, Drizzle SQLite-схему, миграции SQL и конфигурацию Bun. Найдены меньший статический шаблон и runtime-код в директориях worker, sdk, cloudflare и cvm.

Директория runtime Spaces
Рис. 5. Директория Spaces содержит шаблоны и TypeScript-runtime, включая папки worker, sdk, cloudflare и cvm.

Экспорт также содержал построители документов, PDF, презентаций, электронных таблиц и Markdown. Отдельный навык magic-moment содержал код для создания карточек и видео с браузер-скриптами захвата, шрифтами и брендовыми активами.

И было очень много иконок!

Иконки в экспорте
Рис. 6. Выборка WebP-иконок, включённых в экспортированные файлы.

Codex в образе

Codex CLI был установлен в /opt/hatch-image/bin/codex, сообщая версию 0.149.0. Доказательств того, что Muse использует его как агента кодирования, не найдено.

Hatch использует поставляемую копию bubblewrap — инструмента песочницы Linux. Бинарник находится в codex-resources/bwrap и идентифицирует себя как bubblewrap built for Codex.

Muse применяет его для изоляции ffmpeg и ffprobe при обработке видео, создании превью и проверке файлов. Эти задания работают без сетевого доступа или дополнительных привилегий под пользователем nobody, с директориями /input и /output, открытыми в песочнице. Если bubblewrap отсутствует, они завершаются с ошибкой failed to prepare ffmpeg sandbox.

Код, который вызывает сам Codex, не найден. Временные файлы Codex появились из нашей проверки версии, а строки codex и gpt-5.5 в бинарнике Hatch — это записи в списке провайдеров, ничего не показывающие о их выборе.

Судя по имеющимся данным, Meta поставила Codex CLI, но использует только его встроенную песочницу.

Память и запланированные работы

Как работает память Muse

Muse хранит память в простых файлах Markdown. ~/MEMORY.md — краткий лист фактов, предпочтений и обязательств. Датированные файлы под ~/memory/ содержат повседневные детали. Агент может писать в них во время диалога.

Почасовое фоновое задание проверяет новые утверждения против исходных сообщений и записывает цитату, ID сообщений и ID утверждения. Оно решает, что попадёт в куратор-лист, а что останется в дневном журнале. Файлы под memory/bank/ организуют материал по обстоятельствам, опыту и предпочтениям со ссылками обратно на исходные строки.

Postgres делает эти файлы поисковыми. memory.entries хранит фрагменты и ссылки на строки, memory.embeddings содержит 384-мерные векторы, memory.claims отслеживает доказательства, уверенность и статус. Новое утверждение может заменить старое через supersedes_claim_id. Агент может искать в хранилище с помощью memory_search и проверять доказательства результата через memory_explain.

Другие фоновые задания ведут страницы отношений, анализируют повторяющиеся workflow и готовят идеи или брифинги целей. Эти запуски оставляют квитанции под workspace/self_improvement/, в то время как их реальные изменения попадают в соответствующие файлы памяти и workspace.

Ночной «сон» рассматривает недавние диалоги и пишет руководство для будущих сеансов. В нём подметили, что предпочтительны короткие ответы, нежелательны повторяющиеся уточнения, и самопроизвольные передачи спортивных новостей не запрашивались. Датированные файлы сна находятся в ~/dreams/; отдельный ALIGNMENT_SYNTHESIS.md превращает эти наблюдения в постоянные рекомендации. В файлах сна стояло prompt_hoisted: false, поэтому сам текст не внедрялся в prompt.

Запись сна от 21 сентября
Рис. 7. Запись сна от 21 сентября описывает стиль коммуникации и предпочтения. На скриншоте видны метаданные dream_path и synthesis.

Забывание выходит за рамки удаления заметки. Workflow «забывания» ставит утверждения на удаление, убирает связанный материал и перестраивает индекс, так что позже работы не смогут его восстановить. Именно так система адаптируется со временем: обновляя файлы, поисковые записи и инструкции, которые будущие сеансы смогут прочитать. Веса модели остаются без изменений.

Home Link

Документация по оборудованию стала самым большим сюрпризом. docs/devices/home_link.md описывал экспериментальную интеграцию Meta Home Link с использованием ESP32-C5 с Wi-Fi и Bluetooth LE. Она охватывала сопряжение устройств, обнаружение в локальной сети и доступ агента через прокси с отдельным этапом одобрения. Уже были руководства интеграции для принтеров Brother через IPP и мостов Lutron.

Документация Meta Home Link
Рис. 8. Руководство Home Link называет интеграцию экспериментальной и перечисляет оборудование ESP32-C5, Wi-Fi и BLE для первичной настройки.

Это указывает на работу над предоставлением Muse доступа к устройствам в домашней сети. Неизвестно, был ли это внутренний прототип, ограниченный эксперимент или продукт в планах Meta.

Раскрытие и ответ

Отчёт и результаты были переданы через программу поиска уязвимостей Meta. Meta отметила отчёт как «Not Applicable» (неприменимо). Также контакт был налажен с несколькими сотрудниками, получены ответы.

Ответ Meta на отчёт об уязвимости
Рис. 9. Meta отметила отчёт как неприменимый. Ответ перечисляет несколько возможных оснований без уточнения, какое из них применялось, и предлагает дополнительные доказательства влияния на безопасность или приватность.

Попытка мягко исследовать границу контейнера и добиться выхода Muse показала, что она держалась при тестировании; было начато зондирование 80 обнаруженных сокетов, но остановлено из-за природы production-системы и, честно говоря, отсутствия опыта в этой области.

За дополнительной информацией можно связаться по адресу pete at mouse.dev

-Pete