NPM 생태계를 겨냥한 대규모 악성 코드 공격…암호화폐 탈취를 노린 ‘크립토 클리퍼’ 발견

[email protected]



자바스크립트 생태계에서 수백만 명의 개발자들이 사용하는 오픈소스 패키지 저장소인 NPM(Node Package Manager)이 심각한 악성 코드 공격에 직면했다고 보안 전문가들이 경고하고 있다. 이번 사건은 인기 있는 라이브러리에 암호화폐를 탈취하기 위한 악성 코드가 통합되어 있으며, 이는 전 세계 웹 애플리케이션과 서버 애플리케이션에 광범위한 영향을 미칠 수 있다.

경찰 전문가는 이번 사건을 소프트웨어 공급망 공격으로 정의하고 있으며, 자바스크립트와 Node.js 환경을 중심으로 피해가 확산되고 있다고 설명한다. 공격자는 유명 개발자 ‘qix’의 NPM 계정을 피싱으로 탈취하여 그가 관리하던 핵심 라이브러리들에 악성 코드가 포함된 버전을 게시했다. 이들 라이브러리는 주당 10억 회 이상의 다운로드 수치를 기록하고 있어, 악성 코드의 발견이 상당한 위험을 초래하고 있다.

가장 주목할 점은 이번 악성 코드가 ‘크립토 클리퍼’ 유형으로, 사용자의 지갑 주소를 가로채고 이더리움(ETH) 및 솔라나(SOL) 등의 암호화폐 전송 시 공격자의 주소로 변경하는 기능을 포함하고 있다. 더욱이, 이 공격은 지갑이 설치되지 않은 환경에서도 브라우저의 fetch나 HTTP 요청을 교란시켜 비정상적인 주소 변경 알고리즘을 사용하도록 설계되어 있다. 이 과정에서 시각적으로 유사한 지갑 주소를 생성해 사용자가 피해를 알아차리지 못하도록 한다.

이번 공격은 웹사이트에 국한되지 않고 데스크톱 및 모바일 애플리케이션, 서버 프로그램 등 다양한 자바스크립트 기반 플랫폼을 겨냥하고 있어 위협이 더욱 확대되고 있다. 악성 코드가 포함된 대표적인 패키지로는 ‘chalk’, ‘strip-ansi’, ‘color-convert’, ‘color-name’ 등이 있으며, 이들 패키지는 다수의 오픈소스 프로젝트의 하위 종속성으로 자리 잡고 있다.

이 악성 코드는 한 개발자가 자동 빌드 파이프라인에서 “fetch is not defined”라는 오류를 경험하면서 처음 발견되었으며, 분석 결과 공격자는 사용자의 서명이 이루어지기 전 메모리 내 트랜잭션 정보를 실시간으로 수정하여 자금을 탈취하는 고도화된 기법을 사용하고 있었다.

이에 대해 하드웨어 지갑 제조사인 레저의 CEO는 사용자들에게 “하드웨어 지갑을 사용하는 경우, 서명 전 모든 트랜잭션 내용을 반드시 확인하라”며 “소프트웨어 지갑 사용자들은 온체인 트랜잭션을 가급적 자제하라”고 조언했다.

또한, 이러한 공격과 관련된 여러 프로젝트에서도 적극적으로 대응하고 있다. 디파이 플랫폼 유니스왑은 “우리는 감염된 패키지 버전을 사용하지 않으므로 사용자 시스템은 안전하다”고 발표하였고, 블록스트림 역시 자사의 안전성을 강조했다.

NPM 생태계를 겨냥한 공격 빈도는 증가 추세에 있으며, 암호 자산이 주요 대상으로 부각되면서 그 위험성은 더욱 커지고 있다. 전문가들은 “단순한 클릭이 단기간 내 수백만 원 이상의 손실로 이어질 수 있다”고 깊은 우려를 전하고 있다. 이에 따라, 개발자와 사용자 모두는 NPM 관련 프로젝트를 사용할 때 더 면밀한 검토가 요구된다고 지적하고 있다.

이번 사건은 개인 지갑 해킹을 넘어 전 세계적으로 통용되는 현대 개발 생태계의 구조적 보안 취약성이 드러난 사례로, 앞으로도 주의가 필요하다.

Leave a Comment