피드로 돌아가기
VS Code拡張機能によるAPIキー漏洩を防ぐ方法
Dev.toDev.to
Security

VS Code拡張機能によるAPIキー漏洩を防ぐ方法

VS Code 확장 프로그램 통한 3,800개 리포지토리 유출로 본 시크릿 관리 체계 재설계

Akira2026년 5월 21일3intermediate

Context

IDE 확장 프로그램이 사용자 권한으로 파일 시스템에 직접 접근하는 구조적 특성으로 인한 Supply Chain Attack 위협 증대. .env 파일이나 하드코딩된 키가 로컬 워크스페이스에 Plain Text로 존재함에 따라 확장 프로그램 침해 시 인증 정보가 즉시 노출되는 한계 노출.

Technical Solution

  • 파일 시스템 기반 시크릿 저장 방식에서 환경 변수 및 Secret Manager 중심의 런타임 주입 구조로 전환
  • 개발/스테이징/운영 환경별 API Key 분리 및 물리적 네트워크 격리를 통한 Blast Radius 최소화
  • 정적 API Key를 대체하는 Short-lived Token 도입으로 탈취된 인증 정보의 유효 기간 제한
  • Least Privilege 원칙 기반의 Fine-grained Token 설계를 통해 권한 범위를 특정 API 수준으로 제한
  • .gitignore를 보안 제어 도구가 아닌 단순 관리 도구로 정의하고, Git History 내 잔존 시크릿 제거를 위한 git filter-repo 적용
  • 로컬 전용 값(Local-only values) 활용을 통해 팀 간 동기화 대상에서 시크릿을 제외하는 저장소 분리 설계

1. 하드코딩된 키 및 .env 파일의 Git 커밋 여부를 git log --all --full-history로 전수 조사

2. 모든 운영 환경 키의 로컬 머신 보관을 금지하고 Secret Manager 도입 검토

3. API Key의 유효 기간을 설정하고, 고권한 키일수록 짧은 로테이션 주기(매월) 적용

4. Read-only 등 최소 권한이 적용된 Fine-grained Token으로 기존 정적 키 대체

원문 읽기