AI 코딩 도구 그만 쓸 거 아니야 — 너무 생산적. 현실적 자세는 금욕이 아니라 위생.
Pre-flight 체크리스트 (repo 당 한 번)
- 쓰는 모든 agent 한테 ignore 파일 추가. 도구당 하나:
.cursorignore,.claudeignore,.aiderignore등. 시크릿과 DB 파일 리스트. - Agent 한테 repo 파일 리스트하라고 시켜서 검증. 차단된 파일이 안 나타나야. 테스트해; 가정하지 마.
- 모든 진짜 시크릿을 keychain 이나 runtime env 로.
.env값을<FROM_KEYCHAIN>placeholder 로 교체. - 시크릿 스캔하는 pre-commit 훅 추가.
gitleaks,trufflehog, 또는 단순 regex set. Commit 들어가기 전에 훅 fire. - Agent 한테 컨벤션 알려. "코드에 시크릿 절대 embed X; 항상 get_secret() 헬퍼 사용" 같은 짧은 룰 파일이 제안 패턴 누출 줄여 (제거는 X).
Per-session 습관
| 습관 | 이유 |
|---|---|
| 자격증명 있는 진짜 stack trace 붙여넣지 마 | 붙여넣기 전 connection string redact |
| 프로덕션 로그 verbatim 붙여넣지 마 | 로그가 request ID, 내부 IP, 가끔 URL 의 토큰 누출 |
| 채팅 transcript 를 public 으로 취급 | 먼저 시크릿 스캔 없이 스크린샷 공유 X |
| 민감한 context 의 repo 한테 memory 기능 비활성 | Cross-session bleed 가 audit 가장 어려움 |
| Agent 채팅 히스토리 주기적 purge | provider 침해 시 attack surface 줄임 |
Agent 한테 할 수 있는 최악의 말
- "내 .env 읽고 이 키들 맞는지 확인해." — 모든 시크릿 요청에 넣은 거.
- "왜 이 connection 안 돼?" + full connection string 붙여넣기 — 이제 비밀번호가 transcript 에.
- "내 AWS 자격증명 쓰는 deploy 스크립트 셋업해." — 제안이 그것들 하드코딩할 거.
- "내 진짜 값 다 채워진 config 파일 generate 해." — leak 부탁한 거.
최고의 습관
Placeholder 로 말해. "왜 $DB_URL 안 connect 해? 포맷: postgres://USER:PASS@HOST:PORT/DB." Agent 가 시크릿이 아니라 모양 추론. Transcript 깨끗.