★★★★★
#데이터·Firebase·보안 · claude-code
Firebase API 키 노출 시 대응 (Key Rotation)
실수로 {{KEY_TYPE}}(예: firebase_options.dart의 API 키, GOOGLE_APPLICATION_CREDENTIALS JSON)이 GitHub에 커밋되어 노출됐어.
#security#firebase#credentials#git
변수 1개 — 여기 채우면 아래 프롬프트에 바로 들어가요
실수로 {{KEY_TYPE}}(예: firebase_options.dart의 API 키, GOOGLE_APPLICATION_CREDENTIALS JSON)이 GitHub에 커밋되어 노출됐어.
즉시 대응:
1. 해당 파일을 .gitignore에 추가
2. git history에서 제거 (`git filter-branch` 또는 BFG)
3. Firebase/GCP Console에서 해당 키 비활성화
4. 새 키 생성
각 단계별 상세 절차:
- GitHub 커밋 히스토리에서 파일 완전 제거 (BFG tool 사용)
- 어떤 권한을 가진 키였는지 확인 (read·write 범위)
- Cloud Audit Logs에서 악용 흔적 조사
- 신규 키 생성 후 배포 (롤아웃 계획)
- 팀에 공지
예방:
- `firebase_options.dart`는 실제로 공개 정보 (문제 없음)
- 주의할 것: google-services.json의 client_secret, Service Account JSON, Firebase Realtime DB URL
- pre-commit hook으로 민감 파일 필터링
실수로 민감정보를 commit했을 때의 심각도 평가, 롤백 vs 계속 진행 판단까지 설명해줄래?
쓰는 법 — 위 칸에 본인 값을 채우면 아래 프롬프트에 바로 반영돼요. 복사 버튼을 누르면 채워진 그대로 클립보드에 담기니까, claude-code(또는 본인이 쓰는 AI)에 붙여넣기만 하면 됩니다. 변수가 없으면 그냥 복사해서 쓰세요.

