번(Bun) 런타임 악용해 보안망 회피하는 악성 자바스크립트 모듈 실행
[보안뉴스 김형근 기자] 해킹 그룹 팀PCP(TeamPCP)가 공식 도커 허브 저장소인 ‘checkmarx/kics’에 악성코드를 삽입한 가짜 이미지를 주입해 공급망 공격을 감행했다.

[출처: gettyimagesbank]
제이프로그(JFrog)와 소켓(Socket)이 23일 발표한 분석 보고서에 따르면, 오염된 바이너리는 인프라 코드(IaC: Infrastructure as Code) 스캔 보고서를 암호화해 외부로 빼돌리는 불법적인 정보 탈취 기능을 실행한다. 보안 도구로 널리 쓰이는 시스템이 해킹 도구로 돌변한 셈이다.
공격자들은 도커 이미지를 넘어 비주얼 스튜디오 코드(VS Code: Visual Studio Code) 확장 프로그램에도 마수를 뻗쳤다. 이들은 사용자 확인 절차 없이 원격에서 악성 자바스크립트 모듈인 ‘mcpAddon.js’를 내려받아 번(Bun) 런타임 환경에서 구동하는 수법을 동원했다.
이 악성 코드는 깃허브 토큰과 노드 패키지 매니저(npm) 자격 증명을 비롯해 아마존 웹 서비스(AWS), MS 애저(Azure), 구글 클라우드 플랫폼(GCP), SSH 키를 아우르는 개발 환경의 핵심 자산을 싹쓸이했다. 코딩 어시스턴트 활용이 늘어나는 최근 트렌드를 반영해 MCP와 클로드 설정 파일까지 표적으로 삼았다.
팀PCP는 탈취한 정보를 자신들이 관리하는 텔레메트리(Telemetry) 엔드포인트인 ‘audit.checkmarx.cx’로 전송해 추적을 따돌린다. 1차 전송 경로가 막히면 깃허브 커밋 메시지에서 암호화된 개인 접근 토큰(PAT)을 찾아내는 예비 통신망을 가동했다. 탈취한 토큰을 악용해 피해자 계정에 ‘gesserit-melange-813’과 같이 소설 듄(Dune) 테마의 단어가 조합된 가짜 저장소를 몰래 생성하고 수집한 결과물을 암호화해 업로드하는 은폐 전술도 펼쳤다.
이번 공격은 단순 정보 유출을 넘어 생태계 전체를 오염시키는 연쇄 확산 구조를 띤다. 훔친 npm 자격 증명을 이용해 피해자가 관리하는 정상 패키지 250여개를 악성 버전으로 다시 배포하며 웜(Worm)같은 공격도 설계했다. 또, 깃허브 액션에 몰래 접근해 악성 워크플로를 주입하고 CI/CD 파이프라인의 비밀 값까지 훔쳐 공급망을 완전히 장악하려 했다.
보안 전문가들은 이번 사태를 지난 3월 체크막스 깃허브 액션 워크플로를 노렸던 공격과 동일한 패턴으로 분석하며 팀PCP를 배후로 지목했다. 감염된 KICS 이미지나 확장 프로그램을 사용한 개발팀은 즉시 시스템에서 관련 도구를 삭제하고 노출된 모든 토큰과 비밀번호를 교체해야 한다. 또, 승인되지 않은 npm 발행물과 워크플로를 전수 조사하여 2차 피해를 막는 강력한 방역 조치가 시급하다고 조언했다.
[김형근 기자(editor@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>









.gif)




