보안

무엇이 바뀌는지 보고 나서 허용합니다

도구 호출은 읽기, 쓰기, 셸, 네트워크, 메타로 나뉘고 위험도는 낮음, 중간, 높음입니다. 기본 모드는 읽기만 허용하고, 바꾸는 작업은 대화를 가리지 않는 승인 독에서 묻습니다.

builtin:bash 승인 창. 중간 위험, OS 격리 활성, 명령마다 임시 HOME, 거절·항상 허용·한 번 허용 버튼
권한 설정의 권한 정책 목록. 모두 확인, 쓰기만 확인(선택됨), 자동 검증, 모두 허용

권한 모드

얼마나 자주 물을지는 내가 정합니다

모드와 상관없이 강제 차단 규칙이 먼저 돕니다. 민감한 경로, 잘못된 매니페스트, 샌드박스 한계가 여기에 걸립니다.

  • 쓰기만 확인. 기본값입니다. 읽기는 허용하고 쓰기, 셸, 네트워크는 승인을 받습니다.
  • 모두 확인. 읽기를 포함해 모든 도구가 승인을 받습니다.
  • 자동 검증. 대화에서 낮음과 중간 위험은 감사 기록을 남기고 자동 허용하고, 높은 위험만 묻습니다. 헤드리스 실행은 별도의 리뷰 대기열을 씁니다.
  • 모두 허용. 강제 차단 밖은 허용하지만, 허용된 폴더 밖 접근은 따로 승인을 받습니다.

실제 화면

승인, 격리, 기록

승인 창은 무엇을, 어디서, 어떤 격리 아래 실행하는지 보여 줍니다. ‘항상 허용’은 정확히 그 도구, 그 입력, 그 작업 폴더에만 묶입니다.

builtin:edit_file 승인 창. 중간 위험, 쓰기 범주, 이 작업 폴더의 이 파일에서 edit_file을 기억한다는 안내

파일 쓰기 승인

어느 파일을 고치는지와 함께, 기억할 경우 어떤 범위로 기억하는지 승인 창 아래에 적습니다.

browser_click 승인 창. 에이전트가 연 탭이며 Ave를 다시 시작할 때까지 이 사이트에서 허용한다는 안내

브라우저 동작 승인

에이전트 탭의 허용은 Ave를 다시 시작할 때까지만 유지되고, 내 탭에서 누르고 입력하는 동작은 매번 묻습니다.

OS 도구 샌드박스가 켜져 있고 macOS에서 파일 쓰기, 프로세스, 네트워크를 가둔다는 설명이 보이는 설정 화면

OS 샌드박스

macOS는 Seatbelt, Linux는 bwrap, Windows는 srt-win으로 도구 실행을 운영체제 수준에서 가둡니다.

감사 탭 결과 표에 turn, tool_call, allow, approval, ask 항목이 나열된 화면

감사 로그

~/.ave/audit.log는 HMAC 체인으로 이어집니다. 원문 비밀 값은 기록하지 않습니다.

그 밖에 정해 둔 것

허용 디렉터리

프로젝트 루트, ~/.ave, 전용 임시 폴더, 시스템 임시 폴더(macOS와 Linux는 /tmp 포함)에서 시작하고 설정의 permissions.additionalDirectories로 늘립니다. 그 밖은 따로 묻습니다.

검토기 선택

검증 끔(자동 통과), 규칙 기반 검증, LLM 검증, 엄격(모두 보류) 중에서 고릅니다. 엄격은 바꾸는 작업을 모두 보류 대기열로 보내 직접 승인하게 합니다.

정책 파일

사용자와 관리자가 각자 policy.json을 둘 수 있고, 유효한 관리자 정책은 다루는 설정을 잠급니다.

설치 계획 화면. 검토한 내용의 해시에 묶여 있고 계획 만료까지 남은 시간이 보이는 화면

검증된 설치

플러그인도 같은 원칙을 따릅니다

플러그인은 자기 프로세스에서 돌고, 호스트가 모든 호출의 위험도를 매깁니다. 플러그인은 그 등급을 낮출 수 없습니다.

  • 해시로 고정. 설치는 커밋과 SHA-256에 묶이고, 실행할 때마다 다시 확인합니다.
  • 선언한 도메인만. 네트워크는 선언한 도메인에만, 리다이렉트마다 다시 확인합니다.
  • 회수. 출처는 특정 버전을 끄거나 지울 수 있고, 그 출처에서 설치한 것에만 적용됩니다.

자주 묻는 질문

‘항상 허용’은 무엇을 기억하나요?

정확히 그 도구, 그 입력, 그 작업 폴더입니다. 대상 이름에 와일드카드가 있으면 규칙을 저장하지 않고 ‘한 번 허용’을 권합니다.

검토기가 실패하면요?

요청은 통과되지 않고 보류됩니다. LLM 검토는 위험도를 올릴 수만 있고 내릴 수는 없습니다.

헤드리스 실행이나 루틴에서는 누가 승인하나요?

낮은 위험을 넘는 요청은 지연 대기열에 들어가 내가 볼 때까지 기다립니다.

어떤 경로는 항상 막히나요?

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

모델에 비밀 값이 넘어가나요?

API 키를 비롯한 자격 증명은 설정과 무관하게 항상 제거하고 보냅니다. 이메일, 전화번호, 카드 번호 같은 개인 정보는 설정의 PII 리댁트(기본값 꺼짐)를 켜면 [REDACTED:*]로 바꿔 보내고, 가린 개수를 감사 로그에 남깁니다.

플러그인이 스스로 대화를 시작할 수 있나요?

host:overlay 기능이 있는 플러그인은 대화를 제안할 수 있지만, 수락해야 시작합니다. 그 대화 안에서도 쓰기, 셸, 네트워크 도구는 다시 묻습니다.

Windows에서는 무엇이 다른가요?

srt-win은 파일과 네트워크를 가두지만 프로세스는 가두지 않습니다. 플러그인끼리의 격리는 macOS와 Linux에서만 됩니다.

OS 샌드박스는 기본으로 켜져 있나요?

아니요. 직접 켜는 기능이고, 켜면 앱을 다시 시작해야 합니다. 켜면 네트워크는 기본으로 막힙니다.

이어서 읽기