1. 개요

- TeamPCP 그룹의 Checkmarx/KICS 공급망 공격 일환으로 NPM용 Bitwarden CLI 패키지에서 공급망 공격이 발생

- 공격 인프라를 공유하며, GitHub/NPM 인증토큰, SSH 정보, 클라우드 자격증명, 클라우드/MCP 설정 파일 등을 탈취

※Checkmarx : SAST(Static Application Security Testing, 정적 애플리케이션 보안 테스트) 솔루션
※Bitwarden : 오픈 소스 비밀번호 관리 서비스

2. Checkmarx 공급망 공격

- Docker는 내부 모니터링을 통해 KICS 태그와 관련된 의심스러운 활동 감지, 이후 Checkmarx/KICS악성 이미지가 푸시됨을 확인 [1]

> 조사 결과, v2.1.20 및 alpine을 포함한 기존 태그를 덮어쓰고, 새로운 v2.1.21 태그를 추가한 것으로 확인

> 번들로 제공된 KICS 바이너리에는 데이터 수집 및 유출 기능을 가진 악성코드가 포함

 

- 공격자는 Checkmarx/ast-vscode-extension 저장소에 과거 날짜(2022년)로 위장된 커밋(68ed490b)을 삽입

> 해당 커밋에 포함된 10MB 크기의 mcpAddon.js 파일은 2단계 악성 페이로드를 포함

> 확장 실행 시 하드코딩된 GitHub URL에서 파일을 다운로드 후 로컬 경로에 저장한 다음 Bun 런타임을 통해 즉시 실행

> 공식 GitHub 저장소를 통한 원격 파일 로드 방식은 경고 신호를 발생시키지 않으므로, 코드 검증 및 보안 탐지를 우회

 

2.1 mcpAddon.js

- 식별자 난독화, 문자열 디코딩, gzip+base64 인코딩을 결합한 다층 구조로 난독화되어 있음

- 피해자의 셸(PowerShell 또는 Bash)을 사용해 GitHub 인증토큰, 클라우드 자격 증명, SSH 정보, 클라우드/MCP 구성 파일 등을 탈취

실행 명령
C:\\WINDOWS\\system32\\cmd.exe /d /s /c "gh auth token"
C:\\WINDOWS\\system32\\cmd.exe /d /s /c "gcloud config config-helper --format json"
C:\\WINDOWS\\system32\\cmd.exe /d /s /c "az account get-access-token --output json --resource <https://management.azure.com>"
C:\\WINDOWS\\system32\\cmd.exe /d /s /c "azd auth token --output json --no-prompt --scope <https://management.azure.com/.default>" 등

 

- 탈취한 데이터는 audit.checkmarx[.]cx/v1/telemetry 또는 피해자 계정에 공개 저장소를 통해 유출

> 탈취한 NPM 자격 증명을 통해 사용자가 권한을 가진 모든 NPM 패키지를 순회하며 악성 페이로드를 추가 및 재배포

 

2.2 대응방안

- 영향을 받은 Checkmarx 아티팩트를 사용중인 경우 자격 증명 노출 및 CI/CD 침해 사고로 간주

즉각적 조치

- 감염된 확장 프로그램, Actions 및 컨테이너 이미지 즉시 제거

- GitHub, NPM, 클라우드, SSH, CI/CD 자격 증명 전면 교체

- 침해지표 차단 및 접근 여부 점

 

플랫폼 별 감사

- GitHub

> 무단 저장소 생성 점검

> .github/workflows/ 내 의심스러운 파일, 비정상적인 워크플로우 실행 및 아티팩트 다운로드 기록 점검

 

- NPM

> 무단 게시, 버전 변경 점검

> 새로 추가된 설치 후크(Install hooks) 존재 여부 감사

 

- Cloud

> 비정상적인 비밀 정보 접근, 토큰 사용 및 새로 발급된 자격 증명 여부 등 액세스 로그 점검

 

엔드포인트 및 러너(Runner)

- 알려진 유출 인프라로의 아웃반운드 연결 점검

- 평소 사용하지 않는 곳에서 Bun 실행 및 자격 증명 저장소에 대한 접근 확인

- gh, gcloud, ac, acd 등 CLI 도구의 예기치 않은 사용 모니터링

 

장기적 대응

- 엄격한 토큰 Scope 제한, 단기 자격 증명 사용 등 권한 최소화

- GitHub Actions 권한 강화, 패키지 생성 및 게시 권한 최소화

- 불필요 아티팩트 접근 차단, 신규 저장소 생성 또는 워크플로우 변경 감지 모니터링 체계 구축

3. NPM용 Bitwarden CLI 패키지 공급망 공격

- Bitwarden CLI NPM 패키지가 Checkmarx 공급망 공격의 일환으로 손상되어 @bitwarden/cli2026.4.0 버전이 영향 [2][3]

> Bitwarden 메타데이터는 그대로 유지하며, preinstall 스크립트와 bw 바이너리 진입점만 악성 로더(bw_setup.js)로 교체

 

3.1 동작 방식

- Bun 런타임 다운로드 후 난독화된 bw1.js 실행해 개발자 워크스테이션과 CI 환경을 대상으로 자격 증명 탈취

파일 시스템 수집기 - SSH 키(~/.ssh/)
- Git 자격증명(.git-credentials)
- npm 토큰(~/.npmrc)
-.env
- AWS 자격증명(~/.aws/credentials)
- GCP 크리덴셜(~/.config/gcloud/credentials.db)
-  AI 도구 및 MCP 설정 파일 (~/.claude.json, ~/.claude/mcp.json, ~/.kiro/settings/mcp.json) 
쉘/환경 수집기 gh auth token 명령 실행, process.env 스캔을 통한 GitHub/NPM 토큰 패턴 매칭
GitHub Actions 수집기 탈취한 토큰의 유효성을 api.github.com/user에서 검증한 후 권한이 있는 저장소 목록 등을 나열

 

- 탈취한 데이터는 audit.checkmarx[.]cx/v1/telemetry 또는 피해자 계정에 공개 저장소를 통해 유출

 

3.2 대응방안

- 악성 Bitwarden CLI NPM 패키지를 설치한 조직은 자격 증명 노출 및 CI/CD 침해 사고로 간주

 즉각적 조치

- 개발자 시스템 및 빌드 환경에서 패키지 즉시 제거

- 해당 환경에 노출됐을 수 있는 모든 자격 증명 교체 (GitHub 토큰, npm 토큰, 클라우드 자격 증명, SSH 키 및 CI/CD 비밀 키 등)

- 침해지표 차단 및 접근 여부 점검

 

 플랫폼 별 감사

- GitHub

> .github/workflows/ 내 의심스러운 파일, 비정상적인 워크플로우 실행 및 아티팩트 다운로드 기록 점검

> 무단 저장소 생성 점검 (Dune 테마 이름 패턴 {word}-{word}-{3digits} 를 따르는 공개 저장소를 확인)

atreides cogitor fedaykin fremen futar gesserit
ghola harkonnen heighliner kanly kralizec lasgun
laza melange mentat navigator ornithopter phibian
powindah prana prescient sandworm sardaukar sayyadina
sietch siridar slig stillsuit thumper tleilaxu

 

- GitHub Actions

> 임시 브랜치에서 workflow 생성 여부 확인

> format-results.txt 같은 artifact 생성 또는 다운로드 되었는지 점검

 

- NPM

> 무단 게시, 버전 변경 점검

> 새로 추가된 설치 후크(Install hooks) 존재 여부 감사

 

- Cloud

> 비정상적인 비밀 정보 접근, 토큰 사용 및 새로 발급된 자격 증명 여부 등 액세스 로그 점검

 

 엔드포인트 및 러너(Runner)

- 알려진 유출 인프라로의 아웃반운드 연결 점검

- 평소 사용하지 않는 곳에서 Bun 실행 및 자격 증명 저장소에 대한 접근 확인

- gh, gcloud, ac, acd 등 CLI 도구의 예기치 않은 사용 모니터링

- /tmp/tmp.987654321.lock 존재 여부와 ~/.bashrc, ~/.zshrc 수정 여부 확인

 

 장기적 대응

- 엄격한 토큰 Scope 제한, 단기 자격 증명 사용 등 권한 최소화

- GitHub Actions 권한 강화, 패키지 생성 및 게시 권한 최소화

- 불필요 아티팩트 접근 차단, 신규 저장소 생성 또는 워크플로우 변경 감지 모니터링 체계 구축

4. 참고

[1] https://socket.dev/blog/checkmarx-supply-chain-compromise
[2] https://research.jfrog.com/post/bitwarden-cli-hijack/
[3] https://socket.dev/blog/bitwarden-cli-compromised
[4] https://news.hada.io/topic?id=28837
[5] https://news.hada.io/topic?id=28819
[6] https://www.boannews.com/media/view.asp?idx=143332&page=1&kind=1
[7] https://www.dailysecu.com/news/articleView.html?idxno=206446

'취약점 > Supply-Chain Attack' 카테고리의 다른 글

Axios 공급망 공격  (0) 2026.04.01
LiteLLM 1.82.7 및 1.82.8 PyPI 패키지 공급망 공격  (0) 2026.03.28
Trivy 공급망 공격 (CVE-2026-33634)  (0) 2026.03.25
Notepad++ 공급망 공격  (0) 2026.02.11
IDE Extensions 기법  (2) 2025.06.29

+ Recent posts