Bitwarden CLI, npm 공급망 공격으로 사용자 자격 증명 유출 위험!
Bitwarden CLI npm 패키지가 공급망 공격에 노출되어, GitHub, npm, AWS, Azure, GCP, SSH, 환경 변수 등 다양한 자격 증명 탈취 시도
공격자는 GitHub Actions CI/CD 파이프라인을 악용하여 악성 코드(bw1.js)를 삽입하고, npm 및 워크플로우를 통해 확산 시도
자격 증명 유출 및 CI/CD 환경 침해 가능성에 따라, 토큰 회전 및 CI 로그 검토 등 긴급한 보안 조치 권고
공격 배후 세력의 이념적 동기가 엿보이며, 기존 Checkmarx 공격과는 차별화된 특징을 보임
공격 범위 및 영향 분석
공격은 Bitwarden CLI(Command Line Interface) npm 패키지 버전 2026.4.0을 대상으로 하며, 악성 코드(bw1.js)를 통해 GitHub, npm, AWS, Azure, GCP, SSH, 환경 변수 등 다양한 자격 증명을 탈취한다. 특히, GitHub Actions Runner 메모리 접근을 통해 GitHub 토큰 탈취를 시도하며, npm 토큰 탈취를 통해 추가적인 패키지 배포를 시도하는 등 공격의 확산 가능성이 높다. 피해자는 토큰 회전 및 CI 로그 검토를 통해 추가 피해를 예방해야 한다.
기술적 분석: 악성 코드(Malicious Code)의 특징
악성 코드(bw1.js)는 Checkmarx 공급망 공격에 사용된 mcpAddon.js와 유사한 구조를 가지며, C2 서버(audit.checkmarx[.]cx)를 통해 데이터를 탈취한다. 특히, Bun v1.3.13 인터프리터를 활용하여 런타임 환경을 구성하고, GitHub API를 통해 탈취된 정보를 전송한다. 또한, Dune 테마의 레포지토리 생성, 'LongLiveTheResistanceAgainstMachines' 메시지 삽입 등 공격자의 이념적 성향을 드러내는 특징을 보인다.
대응 방안 및 권고 사항
Bitwarden CLI 패키지를 사용 중인 조직은 자격 증명 유출 및 CI/CD 환경 침해를 심각하게 고려해야 한다. 즉시 해당 패키지를 제거하고, GitHub 토큰, npm 토큰, 클라우드 자격 증명, SSH 키, CI/CD 시크릿 등 노출 가능성이 있는 모든 자격 증명을 회전해야 한다. 또한, GitHub 레포지토리에서 무단 생성된 레포지토리, 워크플로우 파일, 의심스러운 실행 기록 등을 확인하고, npm에서 무단 배포 여부를 검사해야 한다.
공급망 공격 방어를 위한 장기적 전략
향후 공급망 공격에 대한 방어력을 강화하기 위해, 토큰 범위 제한, 단기 자격 증명 사용, 패키지 게시 권한 제한, GitHub Actions 권한 강화, 불필요한 아티팩트 접근 차단, 새로운 레포지토리 및 워크플로우 변경 감시 등의 조치가 필요하다. 특히, 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 잠재적 피해 범위를 최소화하고, 데이터 미저장 정책(Zero-Retention Policy)을 통해 민감 정보 유출 위험을 줄이는 방안을 고려해야 한다.