권한과 보안

권한 모드, 리뷰어, 허용 디렉터리, 샌드박스, 감사 로그.

권한 모드

쓰기만 확인
기본값. 읽기는 허용하고 바꾸는 작업은 승인을 요청합니다.
모두 확인
읽기를 포함한 모든 도구에 승인을 요청합니다.
자동 검증
저위험 작업은 처리하고, 헤드리스 실행과 대화의 나머지 요청은 권한 리뷰어가 검증합니다.
모두 허용
하드 차단 밖은 자동으로 허용합니다. 허용 디렉터리 밖 접근은 따로 승인을 받습니다.

도구 호출은 읽기, 쓰기, 셸, 네트워크, 메타로 나뉘고, 위험도는 낮음, 중간, 높음입니다.

판정 순서

  • 하드 차단 규칙이 언제나 먼저 돕니다. 민감한 경로, 잘못된 매니페스트, 샌드박스 한계가 여기에 걸립니다.
  • 리뷰어 설정은 검증 끔(자동 통과), 규칙 기반 검증, LLM 검증, 엄격(모두 보류) 중 하나입니다. LLM 검증은 위험도를 올릴 수만 있고 낮추지 못합니다.
  • 리뷰어가 실패하면 통과가 아니라 보류입니다.
  • 헤드리스 실행에서 저위험이 아닌 요청은 나중에 처리할 대기열로 갑니다.

승인

승인 요청은 화면 아래 독에 나타나고 대화를 가리지 않습니다. 버튼은 거절, 한 번만 허용, 항상 허용입니다. 항상 허용은 정확히 그 도구, 그 입력, 그 작업 폴더에만 묶입니다. 대상 이름에 와일드카드가 들어 있으면 규칙을 저장하지 않고 한 번만 허용을 권합니다.

플러그인이 제안한 대화(오버레이 제안)는 내가 받아들여야 시작되고, 그 안의 쓰기, 셸, 네트워크 도구는 다시 확인을 받습니다.

허용 디렉터리와 민감한 경로

허용 디렉터리는 프로젝트 루트, ~/.ave, 그리고 전용 임시 폴더에서 시작하고, 설정의 permissions.additionalDirectories 로 넓힙니다. 그 밖에 접근하면 따로 승인을 받습니다.

~/.ssh 의 키, .env 파일 같은 민감한 경로는 어떤 모드에서도 막힙니다.

사용자와 관리자가 각각 policy.json 을 둘 수 있고, 올바른 관리자 정책이 있으면 사용자가 그 항목을 바꿀 수 없습니다.

OS 샌드박스

도구 실행을 운영체제 수준에서 가두는 선택 기능입니다. 기본값은 꺼짐이고, 켜면 다시 시작해야 합니다.

macOS
Seatbelt. 파일, 프로세스, 네트워크를 가둡니다.
Linux
bwrap. 파일, 프로세스, 네트워크를 가둡니다.
Windows
srt-win. 파일과 네트워크를 가두며, 프로세스 격리는 없습니다.

켜져 있으면 네트워크는 기본 차단입니다. 플러그인끼리의 격리는 macOS와 Linux에서만 됩니다.

감사 로그와 가림

~/.ave/audit.log 는 HMAC 체인으로 이어져 있어 중간을 바꾸면 드러납니다. 감사 기록에는 비밀 값을 넣지 않습니다. 비밀 값과 개인정보는 모델로 보내기 전에 가려지고, 가린 사실은 감사 로그에 남습니다.