Exec 호스트 리팩토링 계획

목표

  • exec.host + exec.security를 추가하여 sandbox, gateway, node 간 실행 라우팅.
  • 기본값을 안전하게 유지: 명시적으로 활성화하지 않으면 교차 호스트 실행 없음.
  • 실행을 선택적 UI(macOS 앱)가 로컬 IPC를 통해 연결하는 헤드리스 러너 서비스로 분리.
  • 에이전트별 정책, 허용 목록, 질문 모드, 노드 바인딩 제공.
  • 허용 목록 유무에 관계없이 동작하는 질문 모드 지원.
  • 크로스 플랫폼: Unix 소켓 + 토큰 인증 (macOS/Linux/Windows 동등).

핵심 개념

호스트

  • sandbox: Docker exec (현재 동작).
  • gateway: 게이트웨이 호스트에서 실행.
  • node: Bridge(system.run)를 통해 노드 러너에서 실행.

보안 모드

  • deny: 항상 차단.
  • allowlist: 매치만 허용.
  • full: 모든 것 허용 (elevated와 동일).

질문 모드

  • off: 묻지 않음.
  • on-miss: 허용 목록이 매치하지 않을 때만 질문.
  • always: 매번 질문.

질문은 허용 목록과 독립적; 허용 목록은 always 또는 on-miss와 함께 사용 가능.

기본 안전

  • 기본 exec.host = sandbox.
  • gatewaynode에 대해 기본 exec.security = deny.
  • 기본 exec.ask = on-miss (보안이 허용할 때만 관련).

구현 단계

1단계부터 5단계까지: 설정 + exec 라우팅, 승인 저장소 + 게이트웨이 강제, 노드 러너 강제, 이벤트, UI 폴리시.