Supply Chain Attack Exposes Over 2 Billion

공급망 공격으로 20억 개 이상 노출

주요 NPM 공급망 공격으로 널리 사용되는 JavaScript 라이브러리가 손상되어 주간 다운로드 26억 개가 암호화폐 지갑 멀웨어에 노출되었습니다. 개발자들은 종속성 감사를 권장합니다.

Eliza Crichton-Stuart

Eliza Crichton-Stuart

업데이트됨 Mar 31, 2026

Supply Chain Attack Exposes Over 2 Billion

9월 8일, NPM 생태계 내에서 심각한 소프트웨어 공급망 공격이 발견되어 널리 사용되는 여러 JavaScript 라이브러리에 영향을 미쳤습니다. 이 사건은 Ledger의 최고 기술 책임자인 Charles Guillemet이 신뢰할 수 있는 개발자의 Node Package Manager 계정이 침해되었다는 경고를 발표하면서 처음으로 대중의 주목을 받았습니다. 초기 평가에서는 10억 개 이상의 다운로드가 암호화폐 탈취를 목적으로 하는 숨겨진 악성 코드에 노출되었다고 추정했습니다. 그러나 후속 조사 결과, 침해된 패키지들이 총 26억 회 이상의 주간 다운로드를 기록하고 있는 것으로 밝혀졌습니다.

Supply Chain Attack Exposes Over 2 Billion

공급망 공격으로 20억 개 이상 노출

공급망 공격으로 20억 개 이상 노출

이 공격은 여러 인기 JavaScript 라이브러리를 관리하는 "qix"라는 개발자의 계정에 집중되었습니다. 여기에는 chalk, strip-ansi, color-convert, debug이 포함되며, 이 모든 라이브러리는 서버 측 및 프런트엔드 환경의 수많은 프로젝트에서 사용됩니다. 공격자들은 가짜 지원 이메일을 통해 계정에 접근하여 약 18개 패키지에 악성 업데이트를 푸시했습니다. 자동 종속성 설치로 인해 악성 코드는 침해 발생 몇 시간 만에 빠르게 확산되었습니다.

Guillemet은 악성 코드가 거래 중 암호화폐 지갑 주소를 은밀하게 교체하도록 설계되었다고 설명했습니다. 이는 수신자 주소가 변경된 것을 인지하지 못하고 거래를 승인할 경우 소프트웨어 지갑에 의존하는 유저들이 자금을 잃을 위험에 노출된다는 것을 의미합니다.

악성 코드 암호화폐 클리퍼 및 MetaMask

보안 연구원들은 이 악성 코드를 "암호화폐 클리퍼" 유형으로 식별했습니다. 이는 거래의 여러 단계에서 지갑 주소를 교체하는 방식으로 작동합니다. 지갑이 감지되지 않는 경우, 악성 코드는 fetch 및 XMLHttpRequest와 같은 브라우저 기능에 후킹하여 분산 애플리케이션 내에서 나가는 데이터를 수정합니다. 이를 통해 애플리케이션 데이터 내의 주소를 스캔하고 변경할 수 있습니다.

MetaMask와 같은 지갑 확장이 감지되면, 악성 코드는 서명 전에 거래를 가로채는 방식으로 더욱 직접적으로 작동합니다. 메모리에서 지갑 주소를 수정하여 유저가 거래를 검토할 때 이미 사기성 주소가 배치되도록 합니다. 이 악성 코드는 원본과 매우 유사한 주소를 생성하는 Levenshtein 알고리즘에 의존합니다. 이러한 유사성 때문에 유저가 변경 사항을 식별할 가능성이 낮아집니다.

Supply Chain Attack Exposes Over 2 Billion

공급망 공격으로 20억 개 이상 노출

공격의 첫 징후

개발자들은 빌드 시스템에서 예상치 못한 오류 메시지가 반환되었을 때 공격의 첫 징후를 발견했습니다. error-ex라는 종속성을 추가로 검사한 결과, Ethereum 지갑을 대상으로 하는 것으로 보이는 checkethereumw라는 의심스러운 함수가 포함된 난독화된 코드가 발견되었습니다. 분석가들은 나중에 악성 코드가 Bitcoin, Ethereum, Solana, Tron, Litecoin, Bitcoin Cash를 포함한 여러 블록체인에 걸쳐 지갑 주소에 대한 참조를 포함하고 있음을 확인했습니다.

영향을 받은 패키지 중에는 JavaScript 생태계에서 가장 널리 사용되는 것들이 있었습니다. Chalk만 해도 주간 3억 회 이상 다운로드되며, debug는 3억 5천만 회 이상, strip-ansi는 2억 6천만 회 이상 다운로드됩니다. 총체적으로 침해된 라이브러리들은 매주 26억 회 이상 다운로드되어 개발자 커뮤니티 전반에 걸친 영향의 깊이를 보여줍니다.

하드웨어 vs 소프트웨어 지갑

감염된 라이브러리 중 상당수가 암호화폐 프로젝트와 직접적으로 연결되어 있지 않지만, 종속성 체인에 통합되어 있다는 것은 관련 없는 애플리케이션조차도 노출되었을 수 있음을 의미합니다. 암호화폐 지갑 및 분산 애플리케이션과 상호 작용하는 프로젝트는 가장 높은 위험 수준에 있는 것으로 간주됩니다.

Guillemet에 따르면, 명확한 서명 기능을 갖춘 하드웨어 지갑 유저들은 안전합니다. 이러한 장치는 승인 전에 모든 거래를 확인할 수 있기 때문입니다. 반대로 소프트웨어 지갑 유저들은 더 큰 노출에 직면하며, 종속성이 완전히 검토되고 보안될 때까지 극도의 주의를 기울일 것을 권고합니다.

공격자 및 도난 자금 찾기

공격자의 암호화폐 주소는 식별되었으며, 공개 블록체인의 투명성 덕분에 활발하게 모니터링되고 있습니다. 이 작업과 연결된 주요 이더리움 주소는 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976이며, 여러 다른 백업 주소도 있습니다. 보고 시점에는 도난당한 자금이 이동되지 않았습니다. 이 모니터링은 지속적인 분석 기회를 제공하지만, 도난당한 자산의 전체 범위는 아직 불분명합니다.

Supply Chain Attack Exposes Over 2 Billion

공급망 공격으로 20억 개 이상 노출

JavaScript 및 커뮤니티 역할

JavaScript 및 web3 커뮤니티는 이 사건을 해결하기 위해 신속하게 조치했습니다. 침해된 패키지의 악성 버전은 대부분 레지스트리에서 제거되었지만, lockfile 내에서 오래된 버전에 여전히 의존할 수 있는 프로젝트에는 위험이 남아 있습니다. 개발자들은 종속성을 감사하고, 안전한 버전을 잠그고, 깨끗한 빌드를 다시 설치하여 추가 노출을 방지할 것을 촉구받고 있습니다.

보안 전문가들은 또한 개발자들이 자격 증명을 교체하고, NPM 및 GitHub와 같은 계정에 2단계 인증을 적용하며, npm ci와 같은 결정론적 설치 방법을 사용하여 엄격한 버전 제어를 유지할 것을 권장합니다. 또한 유저들은 특히 소프트웨어 지갑에 의존하는 경우 모든 암호화폐 거래를 신중하게 확인할 것을 권고합니다.

마지막 생각

이 사건은 NPM 생태계에 영향을 미친 가장 광범위한 침해 중 하나로 묘사되었습니다. 커뮤니티의 대응은 비교적 신속했지만, 이 공격은 현대 소프트웨어 공급망의 취약성과 오픈 소스 구성 요소에 대한 광범위한 의존으로 인해 발생하는 위험을 강조합니다.

Guillemet이 강조했듯이, 서명 전에 모든 거래를 검토하는 것은 여전히 필수적입니다. 이 침해는 애플리케이션 인프라 깊숙이 박혀 있는 작은 라이브러리조차도 침해될 경우 중요한 공격 벡터가 될 수 있음을 상기시켜 줍니다. 개발자와 유저 모두에게 지속적인 경계는 이제 web3 및 소프트웨어 개발 생태계에서 보안을 유지하는 데 중요한 부분이 되었습니다.

보도자료

업데이트됨

March 31st 2026

게시됨

March 31st 2026

0개의 댓글

관련 뉴스

주요 뉴스