제공 서비스
웹 보안 점검 소스코드 분석 (SAST) CRM 보안 진단 다크웹 유출 조회
요금제 스토어 블로그 파트너 마이페이지 무료 보안 점검
바이브코딩 2026.04.13 · 조회 192

.env 파일 깃허브에 올렸을 때 즉시 대응법 (바이브코딩 필수)

AI가 .gitignore를 빠뜨려서 .env가 깃허브에 올라갔다. API 키, DB 비밀번호가 공개된 상태. 지금 당장 해야 할 5단계.

.env가 깃허브에 올라가면 무슨 일이 벌어지나

깃허브는 공개 저장소 전체를 실시간으로 스캔하는 봇이 돌고 있다. AWS 키, OpenAI 키, Supabase 서비스 키 같은 패턴이 감지되면 평균 30초 이내에 탈취가 시작된다.

실제 사례: 2025년 한 바이브코더가 Cursor로 프로젝트를 만들고 git push했다. .gitignore에 .env가 없었다. 3시간 후 AWS 요금 알림 — GPU 인스턴스 12대가 암호화폐 채굴에 동원되고 있었다. 청구 금액 $4,800.

왜 바이브코딩에서 특히 자주 발생하나

AI 코딩 도구는 .env 파일을 잘 만들어준다. 하지만 .gitignore 업데이트를 깜빡하는 경우가 많다. 특히 이런 상황:

  • 프로젝트 중간에 새 API 키를 추가할 때 — AI가 .env에 넣으라고 안내하지만 .gitignore 확인은 빠짐
  • .env.local, .env.production 같은 변형 파일 — .gitignore에 .env만 등록되어 있으면 이 파일들은 그대로 올라감
  • AI가 생성한 docker-compose.yml에 환경변수가 하드코딩된 경우

즉시 대응 5단계

1단계: 노출된 키 전부 폐기 (0~5분)

가장 먼저 할 일은 깃허브에서 파일을 삭제하는 게 아니라, 노출된 키를 폐기하는 것이다.

  • AWS: IAM 콘솔 → 해당 액세스 키 비활성화 → 새 키 발급
  • OpenAI: API Keys 페이지 → 해당 키 삭제 → 새 키 생성
  • Supabase: 프로젝트 설정 → API → service_role 키 재생성
  • DB 비밀번호: 즉시 변경

키를 먼저 죽여야 한다. 깃허브에서 파일을 삭제해도 커밋 히스토리에 그대로 남아있기 때문이다.

2단계: .env 파일 히스토리에서 제거 (5~15분)

# git filter-branch로 .env 히스토리 완전 삭제
git filter-branch --force --index-filter \
  "git rm --cached --ignore-unmatch .env" \
  --prune-empty --tag-name-filter cat -- --all

# 강제 푸시
git push origin --force --all

또는 BFG Repo-Cleaner를 사용하면 더 빠르다:

java -jar bfg.jar --delete-files .env
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push --force

3단계: .gitignore 완성 (5분)

바이브코딩 프로젝트에서 반드시 .gitignore에 들어가야 할 항목:

# 환경변수 — 모든 변형 포함
.env
.env.*
.env.local
.env.production
.env.development

# IDE/에디터
.cursor/
.vscode/
.idea/

# 의존성
node_modules/
__pycache__/
venv/

# 빌드
dist/
build/
.next/

4단계: 피해 범위 확인 (15~30분)

  • AWS: CloudTrail에서 해당 키로 실행된 API 호출 확인
  • Supabase: 대시보드 → Logs에서 비정상 쿼리 확인
  • DB: 최근 접속 로그, 데이터 변경 이력 확인
  • OpenAI: 사용량 대시보드에서 비정상 호출 확인

5단계: 재발 방지 (30분)

git-secrets를 설치하면 커밋 시점에 시크릿 패턴을 차단한다:

# 설치
brew install git-secrets  # Mac
# Windows: https://github.com/awslabs/git-secrets 에서 다운로드

# 프로젝트에 적용
git secrets --install
git secrets --register-aws

# 커밋할 때 자동으로 AWS 키 패턴 차단

내 코드에 시크릿이 노출됐는지 확인하는 법

CodeScan의 시크릿 스캐너는 배포된 웹사이트의 JavaScript에서 25개 패턴(AWS, OpenAI, Supabase, Stripe, Firebase 등)의 API 키 노출을 자동 탐지한다.

깃허브뿐 아니라 프론트엔드 번들에 실수로 포함된 키까지 잡아낸다.

내 사이트 시크릿 노출 점검하기 (무료)

바이브코딩 .env 깃허브 API키노출 환경변수 보안사고

내 사이트도 점검해보세요

CodeScan으로 보안 취약점을 무료로 점검할 수 있습니다.

무료 스캔 시작하기 →
🛒
추천 상품
웹서비스 런칭 전 보안 세팅
런칭 전에 반드시 해야 하는 보안 설정을 원격으로 직접 해드립니다. HTTPS, 환경변수 분리, 보안 헤더…
220,000원 150,000원

🔒 바이브코딩 보안 체크리스트 받기

바이브코딩 보안 체크리스트(PDF)를 무료로 받아보세요.