AI로 환경변수 유출 방지하기 — envguard로 비밀키 사전 차단한 사례

AI로 환경변수 유출 방지하기 — envguard로 비밀키 사전 차단한 사례
Photo by FlyD on Unsplash

AI로 환경변수 유출 방지하기 — "나는 괜찮겠지"가 가장 위험해

AI로 환경변수 유출 방지하기, 이게 이 사람이 envguard라는 툴을 직접 만들어서 해결한 핵심이야.


배경: 알고 보니 매번 비밀키를 AI한테 넘기고 있었어

Claude Code나 Cursor를 매일 쓰다 보면 자연스럽게 ~/.zshrc에 이런 줄이 쌓여.

export AWS_SECRET_ACCESS_KEY="AKIA..."
export GITHUB_TOKEN="ghp_..."
export OPENAI_API_KEY="sk-..."

문제는 AI 툴을 켜는 순간, 이 환경변수들이 조용히, 자동으로, 매번 컨텍스트에 포함된다는 거야. 의도한 게 아닌데 습관적으로 비밀키를 AI에 던지고 있던 거지. 이 개발자도 어느 날 그걸 뒤늦게 깨달았고, "실행 전에 미리 잡아주는 도구가 없나?" 찾다가 없으니까 직접 만들었어.


사용한 AI툴과 방법: envguard로 실행 전에 패턴 스캔

만든 툴 이름은 envguard. 동작 방식은 단순한데 효과는 확실해.

  • AI 툴 실행 전에 현재 환경변수를 스캔
  • AKIA, ghp_, sk- 같은 비밀키 패턴을 정규식으로 탐지
  • 위험한 변수가 감지되면 실행을 막거나 경고를 띄워줌

Claude Code나 Cursor 실행 래퍼에 envguard를 끼워 넣는 구조야. AI 툴 자체를 건드리는 게 아니라 진입 전 게이트를 하나 두는 개념이거든. 개발엔 Claude를 활용해서 패턴 목록 확장이나 예외 처리 로직을 빠르게 짰다고 해.


결과: 유출 전에 막으니까 사후 대응이 없어졌어

실제로 쓰고 나서 달라진 건 "나 괜찮겠지"라는 막연한 불안이 사라졌다는 거야. AWS 키 로테이션 주기도 줄었고, 팀에 공유했더니 비슷한 상황이었던 동료들 반응도 빨랐어. 유출 사고가 터진 뒤 키 폐기하고 피해 범위 추적하는 것보다, 실행 전에 1초 스캔하는 게 비용이 훨씬 적거든.


따라할 수 있는 포인트

  • 지금 당장 터미널에서 env | grep -E "(SECRET|TOKEN|KEY|PASSWORD)" 쳐봐. 뭐가 나오는지 확인하는 것부터 시작이야.
  • envguard처럼 AI 툴 실행 래퍼를 shell alias로 감싸는 방식, 직접 구현 가능해. ~/.zshrc에 alias 하나 추가하는 수준이거든.
  • 탐지 패턴은 GitHub의 secret scanning patterns 목록 참고하면 커버리지가 넓어져.
  • AI로 환경변수 유출 방지하기, 이 개념 자체를 팀 온보딩 체크리스트에 넣어두면 반복 사고 예방돼.

한줄 정리

AI 툴 켜기 전에 환경변수 한 번만 스캔해도, 비밀키 유출 사고 대부분은 막을 수 있어.

댓글