보안 모델
aisync가 무엇을 지켜 주고, 무엇은 지켜 주지 못하는지 정리했습니다.
지켜 주는 것
| 상황 | 결과 |
|---|---|
| GitHub 리포가 유출됨 | 토큰은 암호문뿐입니다. 패스프레이즈 없이는 풀 수 없습니다 |
설정 파일(.claude.json)이 백업·공유됨 |
참조만 있어서 토큰이 따라가지 않습니다 |
| 다른 웹사이트가 어드민 UI를 노림 | 127.0.0.1 전용, 실행마다 다른 토큰, Host·Origin 검사로 막습니다 |
| 실수로 토큰을 파일에 붙여 넣음 | 올리기 전에 검사해서 멈춥니다 |
지켜 주지 못하는 것
- 이 컴퓨터를 이미 장악한 공격자. 복호화 키는 키체인(Linux는 파일)에 있고, MCP 서버가 실행되는 동안 값은 그 프로세스 메모리에 있습니다.
- 짧은 패스프레이즈. 리포를 가져간 사람은 시간을 들여 패스프레이즈를 맞혀 볼 수 있습니다. PBKDF2 60만 회가 속도를 늦출 뿐 막지는 못합니다.
aisync run의 환경변수. 프로필의env는 Claude 프로세스 전체에 들어가므로 Claude가 실행하는 모든 명령이 볼 수 있습니다. MCP 서버의 토큰은 이와 달리 그 서버에만 갑니다.- 검사가 놓친 토큰. 토큰 찾기는 규칙 기반입니다. 처음 보는 형식은 놓칠 수 있습니다.
- aisync를 쓰기 전의 사본. Claude Code의 자체 백업(
~/.claude/backups/)에 남은 예전 평문은 aisync가 지우지 않습니다.
GitHub 권한
aisync는 gh auth token으로 받은 토큰을 매번 그대로 쓰고 따로 저장하지 않습니다. gh 토큰은 보통 내 모든 리포에 접근할 수 있으니, gh 로그인 자체를 안전하게 관리하세요.
무인 컴퓨터
macOS가 키체인 사용 허가를 묻는 창을 띄우면 aisync는 최대 20초 기다린 뒤 이유를 알리고 멈춥니다. 사람이 앞에 없는 컴퓨터라면 aisync keystore file로 키를 파일에 두세요. 파일은 같은 계정으로 도는 프로그램이 읽을 수 있고 백업에도 들어가므로, 키체인보다 한 단계 약합니다.
이 문서는 aisync 0.1 기준입니다.