피드로 돌아가기
Dev.toSecurity
원문 읽기
API 키 보호: 악성 VS 코드 확장으로부터 안전하게
공급망 공격으로 유출된 3,800개 저장소 사례 기반 API 키 보안 설계 전략
AI 요약
Context
VS Code 확장 프로그램이 사용자 권한으로 파일 시스템에 접근하는 실행 모델의 구조적 취약점을 이용한 공급망 공격 발생. .env 파일이나 하드코딩된 키를 단순 파일 시스템의 일부로 처리하는 기존 관리 방식의 한계 노출.
Technical Solution
- 파일 시스템 접근 권한을 가진 도구의 위협을 전제로 한 Zero Trust 기반 자격 증명 격리 설계
- .gitignore를 보안 경계가 아닌 단순 실수 방지 장치로 정의하고 파일 시스템 레벨의 평문 저장 제거
- 개발, 스테이징, 프로덕션 환경별 API 키 범위를 분리하여 단일 키 유출 시 피해 반경을 샌드박스로 제한
- 정적 파일 대신 로컬 전용 환경 변수 및 Secret Manager 통합을 통한 자격 증명 노출 접점 최소화
- 키 유효 기간을 제한하는 Short-lived Credentials 도입 및 정기적 Key Rotation 프로세스 구축
- git filter-repo를 통한 Git History 내 유출 자격 증명의 물리적 제거 및 강제 푸시 워크플로 적용
실천 포인트
- [ ] 모든 환경(Dev/Staging/Prod)의 API 키가 분리되어 있는가 - [ ] .env 파일이 Git History에 단 한 번이라도 포함된 적이 없는가 - [ ] 프로덕션 키가 개발자 로컬 머신에 평문으로 저장되어 있지 않은가 - [ ] 최소 권한 원칙에 따른 Read-only 또는 범위 제한 키를 사용 중인가 - [ ] 고권한 자격 증명에 대해 월 단위 정기 Rotation 일정이 수립되었는가