테마
안전장치
autofix 의 세션은 사람이 지켜보지 않는 동안 코드를 고치고 push 해요. 그래서 자동으로 해도 되는 일과 사람을 기다려야 하는 일을 나눠 두었어요.
세션 권한: 안전한 전부 허용
agent-bridge 는 서비스 API 로 연 세션을 안전한 전부 허용 모드로 열어요.
| 종류 | 예 | 어떻게 되나요 |
|---|---|---|
| 일반 권한 요청 | 파일 읽기·쓰기, yarn install, go test, git commit, 보통 git push | 자동으로 허용 |
| 위험한 호출 | sudo, 강제 push, git reset --hard, .env·.ssh 같은 비밀 파일, Claude 설정 파일, 세션 폴더 밖의 rm | 사람을 기다림 |
| 질문 | 세션이 선택지를 묻는 경우 | 사람을 기다림 |
사람을 기다리는 동안 실행은 확인 대기로 보이고, 무엇을 기다리는지 함께 적혀요. agent-bridge 화면(폰도 돼요)에서 그 세션의 카드에 답하면 이어서 진행해요.
질문하지 않게 하기
내장 규칙에는 "질문하지 말고 판단해서 진행"이 들어 있어요. 그래도 세션이 묻는다면 규칙에 그 판단 기준이 빠진 거예요. 규칙 쓰기에서 채워 두세요.
규칙이 정하는 선
권한 모드는 "할 수 있는가"를 막고, 규칙은 "해야 하는가"를 정해요. 내장 규칙은
- 검증(lint·typecheck·test·build)을 통과해야만 커밋해요.
- 같은 문제로 2번 실패하면 그 항목은 멈추고 결과에 적어요. 끝없이 시도하지 않아요.
- 시크릿 값을 절대 출력하지 않아요. 결과는 화면에 남으니까요.
- 고칠 수 없는 걸 억지로 바꾸지 않고 보류로 남겨요.
토큰마다 할 수 있는 일
| 토큰 | 가진 쪽 | 할 수 있는 일 | 못 하는 일 |
|---|---|---|---|
AUTOFIX_TOKEN | 스캐너 | 목록 보내기(실행 만들기) | 기록 읽기, 세션 조작 |
BRIDGE_SERVICE_TOKEN | autofix | 정해진 한 사람의 맥에 세션 열기, 토큰으로 연 세션의 상태 읽기 | 사람이 연 세션 읽기, 세션에 메시지 보내기, 세션 닫기 |
VIEW_USER·VIEW_PASSWORD | 사람 | 기록 화면과 GET /api/runs 보기 | 실행 만들기 |
토큰은 SHA-256 으로 바꾼 뒤 상수 시간으로 비교해요. 비어 있는 토큰은 그 기능을 끄는 뜻이에요(늘 401).
화면과 기록
- 기록 화면은 Basic 인증 뒤에 있고, 스크립트를 쓰지 않아요. 응답마다
Content-Security-Policy: default-src 'none'과Cache-Control: no-store를 붙여요. - 세션 답변은 먼저 HTML 을 이스케이프한 뒤 굵게·코드만 표시해요. 답변에 태그가 섞여도 글자로 보여요.
- 결과에는 세션의 마지막 답변이 그대로 남아요. 비밀값이 섞이지 않도록 규칙에 "시크릿 값을 출력하지 않는다"를 꼭 두세요.
남는 위험
- 세션이 기본 브랜치에 바로 push 해요. 리뷰를 거쳐야 하는 레포라면 규칙에 "PR 을 만들고 멈춘다"를 적어 바꾸세요.
- 테스트가 약한 레포에서는 통과가 곧 안전을 뜻하지 않아요. 결과를 읽고 필요하면 되돌리세요.
- 맥의
gh·git 자격 증명으로 일해요. 세션이 할 수 있는 범위는 그 자격 증명의 범위와 같아요.