Bitwarden CLI 공급망 공격 분석: CI/CD 파이프라인의 취약점
요약
1000만 명 이상의 사용자를 보유한 Bitwarden의 CLI가 공급망 공격(Supply Chain Attack)을 통해 악성 코드를 배포하는 사건이 발생했습니다. 이 공격은 피싱이나 직원 계정 탈취를 거치지 않고, 개발자가 신뢰하는 CI/CD 파이프라인 자체를 우회하여 공식 npm 패키지를 오염시켰습니다. 공격자들은 GitHub Actions 워크플로우의 취약점을 악용해 민감한 데이터(GitHub 토큰, SSH 키, 클라우드 자격 증명 등)를 수집하고, 이를 Checkmarx를 사칭하는 도메인으로 유출했습니다. 이 사건은 개발
핵심 포인트
- 공격은 @bitwarden/cli@2026.4.0 버전의 npm 패키지에 악성 코드(bw1.js)를 주입하여, 공식 배포 메커니즘을 이용해 이루어졌습니다.
- 공격 벡터는 Bitwarden의 CI/CD 파이프라인 내 GitHub Actions 워크플로우를 탈취하는 것이었으며, 이는 신뢰 기반 시스템 자체를 무력화시켰습니다.
- 악성 페이로드는 패키지 설치 과정에서 실행되어 GitHub 토큰, npm 자격 증명, SSH 키 등 개발 환경의 모든 민감 정보를 수집했습니다.
- 공격에 노출된 시간은 2026년 4월 22일 5:57 PM ~ 7:30 PM ET로 약 93분간이었으며, 이 기간 동안 즉시 환경 비밀번호를 교체해야 합니다.
최근 Bitwarden CLI가 공급망 공격(Supply Chain Attack)의 표적이 된 사건은 소프트웨어 개발 생태계 전반에 걸쳐 심각한 보안 위험을 경고하고 있습니다. 이 사건의 핵심은 공격자들이 사용자 계정을 직접 해킹하거나 피싱을 시도하는 대신, 개발자가 가장 신뢰하는 도구와 프로세스(CI/CD 파이프라인) 자체를 오염시켰다는 점입니다.
🛡️ 공격 메커니즘 분석: CI/CD 파이프라인의 취약점 악용
이번 공격은 Bitwarden의 공식 npm 배포 채널을 통해 이루어졌습니다. 공격자들은 @bitwarden/cli@2026.4.0 버전 패키지 내 bw1.js 파일에 악성 코드를 삽입했습니다. 이 과정에서 가장 핵심적인 취약점은 Bitwarden의 CI/CD 파이프라인 내 GitHub Actions 워크플로우를 탈취한 것입니다. 공격자들은 이미 알려진 기법을 활용하여 스틸된 자격 증명(stolen credentials)을 이용해 악성 워크플로우를 주입하고, 빌드 결과물을 변조했습니다.
이러한 접근 방식은 개발 환경에서 CLI 도구가 가지는 높은 권한(privileged position)을 노린 것입니다. CI/CD 파이프라인은 시크릿 관리나 자동 배포에 필수적이므로 공격자들에게 매우 매력적인 목표가 됩니다.
🔑 수집된 데이터와 위협 범위 (Blast Radius)
악성 페이로드는 패키지 설치 과정 중에 조용히 실행되었으며, 개발자의 워크스테이션과 CLI 환경에서 접근 가능한 모든 민감 정보를 수확했습니다. 수집 대상에는 다음과 같은 것들이 포함됩니다:
- GitHub 토큰 및 npm 자격 증명
- SSH 키 및 환경 변수
- 클라우드 제공업체(Cloud Provider) 자격 증명
- 셸 히스토리 (Shell History)
가장 우려되는 점은, 공격자들이 수집된 GitHub 토큰을 악용하여 악성 Actions 워크플로우를 저장소에 주입할 수 있었다는 것입니다. 이는 단 한 명의 개발자가 감염된 버전을 설치하는 것만으로도, 해당 개발자의 토큰이 접근 가능한 모든 CI/CD 파이프라인 전체가 공격받는 광범위한 공급망 컴프로마이즈(Supply Chain Compromise)로 이어질 수 있음을 의미합니다.
또한, 탈취된 데이터는 AES-256-GCM으로 암호화되어 Checkmarx를 사칭하는 audit.checkmarx[.]cx 도메인으로 유출되었습니다. 이는 보안 기업의 도메인을 오용(typosquatting)하여 악성 트래픽을 숨기려는 교묘한 수법입니다.
💡 개발자가 알아야 할 핵심 대응 방안
- 즉각적인 비밀번호 순환 (Secret Rotation): 만약 감염 기간(2026년 4월 22일) 동안 해당 버전을 설치했다면, 해당 머신이 접근할 수 있었던 모든 시크릿(GitHub 토큰, npm 자격 증명, 클라우드 키 등)을 즉시 교체해야 합니다.
- CI/CD 보안 강화: 공급망 공격은 이제 개발 도구 자체를 겨냥합니다. CI/CD 파이프라인에 접근하는 워크플로우와 자격 증명을 최소 권한 원칙(Principle of Least Privilege)에 따라 엄격하게 분리하고, 모든 외부 패키지 사용 시 검증 절차를 거쳐야 합니다.
- 신뢰 메커니즘 재검토: 이번 공격은 npm의 신뢰할 수 있는 게시 메커니즘(trusted publishing mechanism)을 우회한 것이 아니라, 그 상위 단계인 GitHub Actions 워크플로우 자체를 오염시켜 작동하게 만들었습니다. 따라서 개발 도구의 배포 전 과정을 다층적으로 검증하는 것이 필수적입니다.
결론적으로, Bitwarden 사건은 공급망 공격이 더 이상 이론적인 위협이 아니라, 가장 신뢰받는 개발 환경을 통해 현실화되고 있음을 보여주는 명확한 사례이며, 모든 개발팀의 보안 인식이 필요한 시점입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기