유일한 신뢰할 만한 방어는 LLM 이 처음부터 시크릿 못 보게 하는 거. "공유하지 말라고 해" 는 방어 아님.
Layered 전략
| Layer | 하는 일 | 방법 |
|---|---|---|
| 1. Agent 가 읽는 파일에 시크릿 두지 마 | context 에 없으면 반복할 수 없음 | OS keychain, secrets manager, repo 외부의 runtime env var 사용 |
| 2. Ignore 파일 | #1 의 belt-and-suspenders | .cursorignore, .aiignore, .aiderignore 등 |
| 3. commit 된 config 에 placeholder | 진짜 값은 돌고 있는 프로세스에만 존재 | .env.example 에 API_KEY=<FROM_KEYCHAIN> |
| 4. 적극적 회전 | leak 시 blast radius 제한 | OPENAI / Anthropic / GitHub 키: 분기 최소 |
| 5. Scoped 토큰 | leak 된 토큰도 작은 blast radius | Read-only DB 사용자, repo-scoped GitHub PAT |