본문 바로가기
C.W.K.
Stream
Lesson 04 of 05 · published

코딩 Agent 와 살기 — 실용적 위생

~15 min · hygiene, gitleaks, pre-commit

Level 0Greenhorn
0 XP0/53 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

AI 코딩 도구를 안 쓸 건 아니잖아. 너무 생산적이니까. 현실적인 자세는 금욕이 아니라 위생이야.

Pre-flight 체크리스트 (repo 당 한 번)

  1. 쓰는 모든 agent 한테 ignore 파일 추가. 도구마다 하나씩 만들어. .cursorignore, .claudeignore, .aiderignore 같은 것들. 시크릿과 DB 파일을 적어둬.
  2. agent 한테 repo 파일을 나열해보라고 시켜서 확인해. 막아둔 파일은 안 나와야 해. 확인해봐. 그냥 그럴 거라고 넘기지 말고.
  3. 모든 진짜 시크릿을 keychain 이나 runtime env 로. .env 값을 <FROM_KEYCHAIN> placeholder 로 교체.
  4. 시크릿을 스캔하는 pre-commit 훅을 붙여. gitleaks, trufflehog, 아니면 간단한 regex 몇 개면 돼. commit 이 들어가기 전에 훅이 먼저 돌아.
  5. agent 한테 컨벤션을 알려줘. "코드에 시크릿을 절대 박아 넣지 마. 항상 get_secret() 헬퍼를 써" 같은 짧은 룰 파일이 제안에서 새는 패턴을 줄여줘 (완전히 없애진 못하지만).

Per-session 습관

습관이유
자격증명 있는 진짜 stack trace 붙여넣지 마붙여넣기 전에 connection string 을 가려
프로덕션 로그 verbatim 붙여넣지 마로그엔 request ID, 내부 IP, 가끔 URL 에 낀 토큰이 섞여 있음
채팅 transcript 를 public 으로 취급먼저 시크릿 스캔 없이 스크린샷을 공유하지 마
민감한 context 의 repo 한테 memory 기능 비활성session 을 넘나드는 유출이 제일 감사하기 어려움
Agent 채팅 히스토리 주기적 purgeprovider 침해 시 attack surface 줄임

Agent 한테 할 수 있는 최악의 말

  • "내 .env 읽고 이 키들 맞는지 확인해줘." — 시크릿 전부를 요청에 실어 보낸 거야.
  • "왜 이 connection 안 돼?" + full connection string 붙여넣기 — 이제 비밀번호가 transcript 에.
  • "내 AWS 자격증명 쓰는 deploy 스크립트 좀 짜줘." — 제안 코드가 그걸 그대로 박아 넣을 거야.
  • "진짜 값 다 채운 config 파일 만들어줘." — 대놓고 유출을 부탁한 거지.

최고의 습관

placeholder 로 말해. "왜 $DB_URL 로 연결이 안 되지? 포맷은 postgres://USER:PASS@HOST:PORT/DB 야." agent 는 시크릿이 아니라 모양만 보고 판단하고, transcript 는 깨끗하게 남아.

External links

Exercise

gitleaks 설치 (brew install gitleaks) 하고 repo 에 돌려 (gitleaks detect). 발견되는 거 = 즉시 회전. pre-commit 프레임워크 통해 gitleaks 를 pre-commit 훅으로 추가 — 미래 commit 자동 스캔. agent 로 새는 경로가 git 경계에서도 한 번 더 걸려.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.