Zum Hauptinhalt springen
YouTube Security VideosIBM Technology: AI Home Security Threat(23.10.2026 um 19:00 Uhr)
••
YouTube Security VideosNeil Patel: Your Website Form Is Killing Sales(23.10.2026 um 20:04 Uhr)
••
YouTube Security VideosOpenAI: From analyst to builder with Codex | Benefit Street Partners(23.10.2026 um 20:22 Uhr)
•
YouTube Security VideosLinus Tech Tips: Guessing Costco Tech Prices(23.10.2026 um 20:04 Uhr)
•
Sichere ProgrammierungFireship: Every PHP server from the last decade just got owned...(23.10.2026 um 20:19 Uhr)
•
YouTube Security VideosMicrosoft: Building smarter tools for the way we work(23.10.2026 um 18:54 Uhr)
•
YouTube Security VideosHow to build and ship an AI agent in the GitHub Copilot app(23.10.2026 um 19:27 Uhr)
••
YouTube Security VideosIBM Technology: AI Home Security Threat(23.10.2026 um 19:00 Uhr)
••
YouTube Security VideosNeil Patel: Your Website Form Is Killing Sales(23.10.2026 um 20:04 Uhr)
••
YouTube Security VideosOpenAI: From analyst to builder with Codex | Benefit Street Partners(23.10.2026 um 20:22 Uhr)
•
YouTube Security VideosLinus Tech Tips: Guessing Costco Tech Prices(23.10.2026 um 20:04 Uhr)
•
Sichere ProgrammierungFireship: Every PHP server from the last decade just got owned...(23.10.2026 um 20:19 Uhr)
•
YouTube Security VideosMicrosoft: Building smarter tools for the way we work(23.10.2026 um 18:54 Uhr)
•
YouTube Security VideosHow to build and ship an AI agent in the GitHub Copilot app(23.10.2026 um 19:27 Uhr)
••
Intelligence View
⚡ tsecurity.de Intelligence

API 키 Git 히스토리에서 완전 제거: BFG + force push 가이드

API 키 Git 히스토리에서 완전 제거: BFG + force push 가이드 Published on: 2026-06-06 Reading time: 5 min Tags: #security #git #devops #secrets 상황 API 키가 .env 파일로 Git 히스토리에 커밋되…

Beitrag
0
Seite
0
↗ Quelle (dev.to)
Social ReaktionenReagiere als Erste:r — dein Feedback zählt!




API 키 Git 히스토리에서 완전 제거: BFG + force push 가이드



Published on: 2026-06-06


Reading time: 5 min


Tags: #security #git #devops #secrets





상황



API 키가 .env 파일로 Git 히스토리에 커밋되었습니다.




git log --all --full-history --name-only | grep ".env"
# f300032 Remove .env from version control (security: API keys exposed)
# c9de179 Initial commit: Contest Agent - AI-powered contest automation






즉각적인 위험:




  • 누구든 git clone → git log → 과거 커밋에서 API 키 확인 가능

  • GitHub에 push된 경우 archive/search에서도 접근 가능






해결책: BFG Repo-Cleaner



git filter-branch보다 빠르고 안전합니다.






1. BFG 설치






brew install bfg









2. 히스토리에서 .env 삭제






cd your-project
bfg --delete-files ".env" --no-blob-protection .






출력:




Deleted files

Deleted 4 commits
Deleted 12 blob(s)

Cleanup:

WARNING: The 'pack' folder will be deleted...









3. Git 정리






git reflog expire --expire=now --all
git gc --prune=now --aggressive









4. Verify






git log --all --full-history --name-only | grep ".env"
# (출력 없음 = 성공)









5. Force Push






git push origin main --force-with-lease









단계별 확인



Before:




$ git log --oneline | head -5
abc1234 Remove .env from version control
def5678 Enable SSL certificate verification
ghi9012 Standardize dependencies






After:




$ git log --oneline | head -5
xyz3456 Remove duplicate service definition
uvw7890 Standardize dependencies
rst1234 Enable SSL certificate verification






→ 불필요한 커밋들이 정리되고, 히스토리 크기도 감소






git filter-branch vs BFG

































기준 git filter-branch BFG
속도 느림 (1000+ 커밋) 매우 빠름
안정성 복잡함 간단함
명확성 오류 가능성 높음 명확한 피드백
추천 ❌ ✅





API 키 로테이션 (필수!)



히스토리 정리 후에도 API 키 반드시 교체:




# 1. Anthropic
# https://console.anthropic.com/account/keys
# → 기존 키 삭제 → 새 키 생성

# 2. Supabase
# https://app.supabase.com → Settings → API
# → "Reset secret key" 클릭

# 3. Telegram
# @BotFather → /token → 봇 선택 → /revoke









모범 사례






1. .env 초기화






# .gitignore에 추가 (처음부터)
echo ".env" >> .gitignore
git add .gitignore
git commit -m "Add .env to .gitignore"









2. .env.example 제공






# .env.example
ANTHROPIC_API_KEY=your-key-here
SUPABASE_URL=your-url-here
TELEGRAM_BOT_TOKEN=your-token-here









3. CI/CD에서 시크릿 관리






# GitHub Actions
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
SUPABASE_KEY: ${{ secrets.SUPABASE_KEY }}









실제 적용 결과






Before:
- Git history에 키 노출
- 총 79개 커밋
- 히스토리 크기: 50MB

After BFG:
- .env 완전 제거
- 총 75개 커밋 (4개 정리)
- 히스토리 크기: 42MB (-16%)









실행 체크리스트



1. 즉시 (사고 대응)




  • [ ] BFG로 히스토리 정리: bfg --delete-files ".env" .

  • [ ] 로컬 정리: git reflog expire --expire=now --all && git gc --aggressive

  • [ ] 강제 푸시: git push origin main --force-with-lease



2. 1시간 내 (키 교체)




  • [ ] Anthropic API 키 로테이션

  • [ ] Supabase Secret Key 리셋

  • [ ] Telegram Bot 토큰 revoke + 재발급

  • [ ] 배포 서버 환경변수 업데이트



3. 당일 (예방)




  • [ ] .env.example 생성 (템플릿)

  • [ ] .gitignore에 .env 명시

  • [ ] 팀원/스카우터에 알림



4. 향후 (재발 방지)




  • [ ] GitHub Actions secrets 사용

  • [ ] pre-commit hook으로 .env 자동 차단

  • [ ] 월간 보안 감시






결론



API 키 노출은 보안 사고입니다. BFG로 빠르게 정리하고, 즉시 키를 교체하세요.



앞으로: .env는 첫 커밋부터 .gitignore에 넣기. 가장 간단한 방지책입니다.

Intelligence Digest — kostenlos Täglich die wichtigsten Security-News · jederzeit abbestellbar
Community Rating & Social Proof
⭐ Leser-Wertung
–
Ø / 5.0
Noch keine Leser-Bewertungen
War diese Seite hilfreich?
0
Jetzt Bewertung abgeben
🟢 Niedrig (1-3.9) 🟡 Mittel (4.0-6.9) 🔴 Hoch (7.0-8.9) Kritisch (9.0-10.0)
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten API 키 Git 히스토리에서 완전 제거: BFG + force push 가이드

Thematisch verwandte Begriffe: 히스토리에서, force, push · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

💬 Kommentare werden geladen…
Zum Aktualisieren ziehen
Nächster Beitrag