제공 서비스
웹 보안 점검 · 무료 단건 외부 공격표면 관리 · 지속 관리 AI 취약점 진단 · 신규 모의해킹 · 침투 테스트
요금제 스토어 블로그 파트너 마이페이지 무료 보안 점검
바이브코딩 2026.04.13 · 조회 1522

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

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

S
보안 전문 기업 SENTRIX 레드팀
해킹대회 수상 · 보안 실무 10년 · 실전 진단 경험을 바탕으로 작성합니다.
{# 전환 데이터: '노출·유출·배포전' 불안형 글이 스캔 전환의 대부분. 그런 글엔 위험 프레임을 더 강하게, 개념·비교·가이드형 글엔 담백하게 문맥 분기(제목+태그 키워드로 판별). #}
같은 위험이 내 사이트에도 노출돼 있는지, URL 하나로 30초 만에 무료로 확인하세요.

.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키노출 환경변수 보안사고

내 사이트도 점검해보세요

URL 하나면 21개 항목을 30초에 무료 점검합니다. 회원가입·카드 없이.

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

AI 코딩 보안 체크리스트 받기

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