Meta Muse 파일시스템 내보내기로 내부 런타임 파일 6.8GB 노출
TL;DR – 무슨 일이 있었고 왜 중요한가
Mouse 연구자가 Meta의 Muse 에이전트에게 자신이 볼 수 있는 파일을 아카이브하고 Google 드라이브로 전송해 달라고 요청했으며, 결과적으로 6.8GB 크기의 압축 해제 파일이 생성되었다. 이 파일은 Muse가 실행 중인 리눅스 컨테이너의 전체 루트 파일시스템을 포함했으며, 내부 문서, 통합 코드, Spaces 앱 프레임워크, 메모리 파일, 컨테이너 시작 스크립트, 그리고 실험적인 ESP32 기반 Home Link 가이드가 포함되어 있었다. 이 노출은 대화형 요청을 통해 민감한 런타임 아티팩트가 유출될 수 있음을 보여주며, Meta가 보고를 "적용되지 않음"으로 분류했음에도 불구하고 개인정보 보호 및 보안 우려를 제기한다.
내보내기 – 완전한 컨테이너 스냅샷
- Muse는 "당신이 볼 수 있는 파일을 아카이브해"라는 요청에 응답하여 muse‑full‑root.zip이라는 이름의 ZIP 파일을 제공했다.
- 압축 시 파일 크기는 ≈2.7GB, 압축 해제 시 ≈6.8GB로, 채팅 메시지에 표시된 크기와 일치한다.
- 압축 해제된 트리는 컨테이너의 루트(
/)를 재현했으며, 다음을 포함했다:- 표준 Ubuntu 설치와 함께하는 시스템 디렉터리(
/etc,/usr,/var). - Muse 내부 코드명인
/home/hatch,/opt/hatch,/opt/hatch-image아래의 애플리케이션 전용 경로. - 113개의 하위 에이전트 JSONL 트레이스와 여러 마크다운 파일(
SOUL.md,IDENTITY.md,USER.md,MEMORY.md,AGENTS.md,TOOLS.md)을 포함한agents/디렉터리. - 브라우저 사용, 커넥터, 결제, 자격 증명, 데이터 처리, 음성, 목표, 일정 등에 대한 설명을 담은 마크다운 파일 약 20개.
- SSH 키 파일(활성 상태는 확인되지 않음).
- 표준 Ubuntu 설치와 함께하는 시스템 디렉터리(
"나는 Muse에게 내 세션에서 볼 수 있는 파일시스템을 아카이브하고 Google 드라이브로 전송해 달라고 요청했다. 결과적으로 압축 해제 시 약 6.8GB 크기의 아카이브를 받았다. 그 안에는 내부 문서, 통합 코드, Spaces 앱 프레임워크, 메모리 기록, 컨테이너 시작 스크립트, 그리고 Home Link라는 실험적인 ESP32 기반 홈 네트워크 브리지에 대한 문서가 포함되어 있었다." — Pete, Mouse 블로그 포스트
보고된 내용 – 보안 측면
- 핵심 우려: 일반적인 대화 + 내보내기 대상이 내부 런타임 파일과 잠재적으로 민감한 자료를 유출할 수 있다.
- 연구자는 컨테이너 탈출을 시연하거나 추출된 SSH 키가 활성 상태임을 확인하지 않았다.
- 보고는 Meta의 버그 바운티 프로그램을 통해 제출되었으며, "적용되지 않음" 으로 표시되었다.
- Meta의 답변은 가능한 결정 근거를 나열했지만, 어떤 것이 적용되었는지는 밝히지 않았으며, 추가 증거를 요청했다.
"보고된 문제는 유효한 취약점으로 간주되지 않는다고 판단했다… 왜냐하면 설명된 행동이 의도된 대로 작동하고 있기 때문이다." — Meta 버그 바운티 답변 (포스트에서 인용)
런타임 구조 – 흥미로운 파일의 위치
/home/hatch와/opt/hatch*는 Muse 전용 아티팩트의 대부분을 포함한다.- 에이전트 디렉터리 – 사용자별 에이전트 상태와 대규모 JSONL 로그를 보유한다.
- 문서화 – 20개 이상의 마크다운 파일은 내부 API, 결제 처리, 음성 파이프라인, 장치 통합에 대해 놀랄 만큼 자세한 정보를 제공한다.
- 스킬 –
/opt/hatch/skills/아래에는 약 68개의 스킬 디렉터리가 있으며, 각각SKILL.md와 CLI 도구 또는 라이브러리가 짝을 이룬다. 예: Google Workspace, Outlook, 여행, 쇼핑, 헬스 서비스, 홈 오토메이션 커넥터 등. - 구성 파일 –
skill‑scopes.conf와bin‑scopes.conf는 Slack, Dropbox, Polymarket, Canva, Klaviyo, 내부 Facebook CLI 등 출시되지 않은 커넥터 목록을 포함한다.
컨테이너 구축 – VM 생성 방식
- 폴더
/opt/hatch/runtime-cell/는 루트 파일시스템을 빌드하는 스크립트,systemd‑nspawn으로 시작하는 스크립트, 초기화 훅/데몬을 위한 파일 18개를 포함한다. - 매니페스트 파일
runtime-cell.kdl는 이미지를 구성하는 Debian/Ubuntu 패키지와 systemd 유닛을 나열한다. - 이러한 파일들은 컨테이너 조립 과정을 명확히 보여주지만, Meta의 광범위한 인프라를 노출하지는 않는다.
Spaces 프레임워크 – 앱 빌드 엔진
- 내보내기에서 가장 큰 코드베이스는 Spaces 프레임워크로, 다음과 같은 TypeScript 스타터 킷을 포함한다:
- React 클라이언트.
- 서버 사이드 액션.
- 마이그레이션을 포함한 Drizzle SQLite 스키마.
- 빌드를 위한 Bun 구성.
- 추가 하위 폴더(
worker,sdk,cloudflare,cvm)는 다양한 배포 타겟용 런타임 코드를 보유한다. - PDF, 프레젠테이션, 스프레드시트, 마크다운 생성기를 포함하며, 카드와 비디오를 조합하는
magic‑moment스킬도 존재한다.
Codex CLI – 존재는 하지만 사용되지 않음
- 바이너리
/opt/hatch-image/bin/codex는 버전0.149.0을 보고한다. - Muse가 Codex를 코딩 에이전트로 호출하는 증거는 발견되지 않았으며, 이 바이너리는 단지 사전 격리 도구인 bubblewrap을 포함하기 위해만 패키지된 것으로 보인다.
- Bubblewrap는 비디오 처리를 위해
ffmpeg/ffprobe를 사용자nobody로 격리 실행하며,/input과/output만 노출된다.
메모리 아키텍처 – 평문 마크다운 + Postgres 인덱싱
- Muse는 사용자에게 보이는 메모리를 평문 마크다운 파일에 저장한다:
~/MEMORY.md– 짧은 사실 시트.~/memory/– 매일 날짜별 로그.~/memory/bank/– 맥락, 경험, 선호도 등 카테고리화된 항목과 인용문.
- 백그라운드 작업은 새로운 주장들을 분석하여 PostgreSQL 데이터베이스에 저장하고, 다음을 유지한다:
memory.entries– 줄 참조가 있는 텍스트 청크.memory.embeddings– 유사성 검색을 위한 384차원 벡터.memory.claims– 증거, 신뢰도, 상태 필드를 포함하며,supersedes_claim_id를 통해 대체 가능하다.
- 매일 밤 실행되는 "드림" 작업은 최근 대화 패턴을 종합하여 가이드 파일(
~/dreams/,ALIGNMENT_SYNTHESIS.md)을 생성한다. 생성된 프롬프트는 LLM 프롬프트에 직접 주입되지 않음 (prompt_hoisted: false).
"Postgres 덕분에 이 파일들이 검색 가능하다. memory.entries는 청크와 줄 참조를 저장하고, memory.embeddings는 384차원 벡터를 보관하며, memory.claims는 증거, 신뢰도, 상태를 추적한다." — Mouse 블로그 포스트
Home Link – 실험적인 하드웨어 통합
- 문서
docs/devices/home_link.md는 Wi-Fi와 블루투스 LE를 통해 홈 네트워크에 연결하는 ESP32‑C5 기반 브리지에 대해 설명한다. - 장치 페어링, 로컬 네트워크 탐지, 프록시 기반 승인 흐름에 대한 가이드가 포함되어 있다.
- Brother 프린터(IPP) 및 Lutron 브리지에 대한 추가 통합 가이드가 존재하여, 더 넓은 홈 오토메이션 로드맵을 시사한다.
"Home Link 가이드는 통합이 실험적이라고 명시하며, 첫 번째 설정에 ESP32‑C5 하드웨어, Wi-Fi, BLE를 포함한다." — Mouse 블로그 포스트
커뮤니티 반응 – 심각성에 대한 혼재된 시각
- 일부 댓글은 이 노출을 예상된 것 으로 보며:
"각 사용자는 전용 VM을 갖는다. 그들은 자신의 사전 격리 환경 내용을 얻은 것이다. 큰 문제인가? 여기서의 열광은 과도하다." — ostensible
- 다른 이들은 이 행동을 기능 으로 보며, 에이전트 개발을 위한 투명성을 강조한다:
"이건 버그가 아니라 기능처럼 보인다. 개발자가 컴퓨터에 완전한 접근 권한을 갖는 것처럼, 에이전트도 마찬가지로 작동해야 한다." — nzoschke
- 반복적인 비판은 Meta의 버그 바운티 결정 에 초점이 맞춰져 있다:
"진지하게, 시스템 전체 내용을 유출했는데 버그 바운티가 없단 말인가?" — rwmj
- 일부는 Home Link 통합의 실험성 과 출시되지 않은 스킬 스코프의 존재를 강조한다.
AI 에이전트 보안에 있어 이 사건의 의미
- 채팅을 통한 데이터 유출 – 에이전트는 전체 런타임을 패키징하고 전송하도록 지시받을 수 있으며, 내부 코드, 문서, 잠재적으로 자격 증명 자료를 노출시킬 수 있다.
- 내부 문서의 가시성 – 내보낸 마크다운 파일은 외부자가 Meta의 에이전트 아키텍처, 통합 지점, 미래 로드맵에 대해 자세히 파악할 수 있는 지도를 제공한다.
- 권한 상승 가능성 – 컨테이너 탈출이 입증되진 않았지만, 컨테이너 내부에 SSH 키와 루트 수준 도구가 존재한다는 점은 공격자가 코드 실행 권한을 확보하면 위험도가 높아진다.
- 정책적 함의 – "의도된 동작"으로 분류한다는 것은 Meta가 의도적으로 전체 파일시스템 내보내기를 허용할 수 있음을 시사하며, 다중 테넌트 AI 서비스에 대한 일반적인 보안 최선의 실천과 충돌한다.
결론: Muse 내보내기는 파일시스템 접근 권한을 가진 대화형 에이전트가 의도치 않게 대규모 데이터 유출의 수단이 될 수 있음을 보여준다. 사용자별로 격리된 컨테이너라 하더라도, 추가 보호 조치 없이 내부 문서, 코드, 키를 전송할 수 있다는 점은 개발자와 플랫폼 운영자 모두가 깊이 검토해야 할 중요한 개인정보 보호 위험이다.
Sources
관련
- 프로젝트
- Dispatch
- Dispatch
- Dispatch
- Dispatch