사이버 보안
NPM 공급망 공격: 무슨 일이 일어났고 어떻게 해결할 수 있을까?
Securities.io는 엄격한 편집 기준을 준수하며, 검토된 링크에 대해 보상을 받을 수 있습니다. 당사는 등록된 투자 자문가가 아니며, 이는 투자 자문이 아닙니다. 자세한 내용은 계열사 공개.

최근 보안 전문가들이 Node.js 생태계를 표적으로 삼은 공급망 공격을 확인하면서 암호화폐 산업과 전 세계는 큰 충격을 받았습니다. 이 공격으로 이미 최대 18개의 npm 패키지가 손상되었습니다.
그 이유는 이 소수의 패키지가 주당 수십억 건의 다운로드를 기록하기 때문입니다.
소프트웨어 패키지 사용 타사 소프트웨어를 배포하기 위한 것입니다. 패키지 관리자를 통해 외부 소스에서 가져오는 경우가 많으며, 일반적으로 소프트웨어 빌드 및 실행에 필요한 소스 코드, 라이브러리, 문서 및 기타 파일을 포함합니다.
이제 악성코드가 포함된 패키지는 합법적인 패키지처럼 위장하지만, 실제로는 소프트웨어를 감염시키려는 악성 패키지입니다. 악성 패키지에 포함된 악성코드는 시스템에 침투하면 파일을 수정할 수 있습니다. 데이터를 훔치다심지어 공격자가 원하는 대로 전체 시스템을 장악할 수도 있습니다.
Python과 .NET과 같은 다른 주요 오픈 소스 생태계도 공격에 취약하지만, JavaScript가 널리 사용되면서 사이버 범죄자에게 특히 취약해졌습니다.
Node.js는 JavaScript를 기반으로 구축된 오픈 소스 런타임 환경으로, 개발자가 웹 브라우저 외부에서 코드를 실행할 수 있도록 해줍니다.
전통적으로, 주로 웹 페이지를 대화형으로 만드는 데 도움이 되는 것으로 알려진 해석형 프로그래밍 언어가 주로 사용되었습니다. 원래는 브라우저 내에서 클라이언트 측 웹 개발을 위한 것이었지만, Node.js는 JavaScript의 사용을 서버 측과 다른 애플리케이션으로 확장했습니다.
Node.js를 사용하면 개발자는 웹 서버, API, 도구 등과 같은 빠르고 확장 가능한 애플리케이션을 구축할 수 있습니다.
npm을 통해 제공되는 광범위한 오픈 소스 라이브러리와 도구 생태계의 이점을 누릴 수 있으며, 이를 통해 개발이 간소화되고 다양한 기능에 대한 솔루션이 제공됩니다.
Node Package Manager 또는 npm은 JavaScript 개발의 핵심 도구입니다. 사용 코드 패키지를 찾고, 빌드하고, 관리하는 데 도움이 됩니다. 종속성 처리, 협업 지원, 워크플로 간소화에 도움이 됩니다.
세계에서 가장 큰 소프트웨어 레지스트리에는 3만 개가 넘는 코드 패키지가 포함되어 있으며 완전히 무료로 사용할 수 있습니다.
누구나 등록 없이 모든 npm 공개 소프트웨어 패키지를 다운로드할 수 있습니다. 오픈소스 개발자들은 npm을 사용하여 소프트웨어를 공유하고 빌려오며, 많은 조직에서는 비공개 개발 관리에 npm을 사용합니다.
컴퓨터에 npm을 설치하려면 먼저 Node.js를 설치해야 합니다.
JavaScript용 패키지 관리자는 세계 최고의 소프트웨어 개발 플랫폼인 GitHub의 자회사인 npm, Inc.에서 관리하고 있으며, 2018년 Microsoft가 개발자의 역량을 강화하기 위해 7.5억 달러에 인수한 이후 GitHub를 소유하고 있습니다.
지난주, 전 세계 17만 명 이상의 개발자가 사용하는 도구가 해킹되어 인터넷에 큰 혼란을 야기했습니다. 하지만 전문가들이 조기에 발견하여 공격자들이 훔쳐낸 금액은 50달러를 넘지 못했기에 잠시뿐이었습니다. 무슨 일이 있었는지 지금 바로 확인해 보세요!
NPM 공급망 공격에서 무슨 일이 일어났나요(2025년 XNUMX월)
자바스크립트 생태계에서 발생한 대규모 공급망 공격에서 해커들은 악성코드가 포함된 일련의 npm 패키지를 손상시켰습니다. 이 공격의 목적은 아무것도 모르는 사용자로부터 디지털 자산을 훔치는 것이었습니다.
특히, 개발자 'qix'의 npm 계정이 해킹당했습니다.
Qix는 오픈 소스 유지 관리자 계정입니다. 손상되었다 피싱 공격으로 인해 이 공격자가 18개의 인기 npm 패키지를 악성 코드로 감염시킬 수 있도록 허용했습니다. 이 패키지들은 매주 수억 건씩 다운로드됩니다. 내장되어 있습니다 프레임워크, 개발자 도구 및 프로덕션 서비스에서.
영향을 받는 패키지로는 chalk, debug, color-name, wrap-ansi, ansi-styles가 있는데, 이것들은 가장 인기 있는 패키지 중 일부이고, 영향을 받는 덜 인기 있는 npm 패키지로는 backslash, chalk-template, has-ansi가 있습니다.
스크롤하려면 스와이프하세요 →
| 묶음 | 손상된 버전 | 동작 |
|---|---|---|
| 디버그 | 4.4.2 | 4.4.2 이전 버전으로 고정하고 다시 설치하고 빌드 로그를 스캔합니다. |
| 분필 | 5.6.1 | 5.6.1 이전 버전으로 고정하고 깨끗한 빌드를 다시 배포합니다. |
| ansi 스타일 | 6.2.2 | 6.2.2 이전 버전에 고정; 다운스트림 부서 감사 |
| ANSI 정규식 | 6.2.1 | 6.2.1 이전 버전으로 고정 |
| 스트립-안시 | 7.1.1 | 7.1.1 이전 버전으로 고정 |
| 랩-안시 | 9.0.1 | 9.0.1 이전 버전으로 고정 |
| 색상, 색상 변환, 색상 문자열, 색상 이름 | 5.0.1 / 3.1.1 / 2.1.1 / 2.0.1 | 미리 나열된 버전에 고정하고 다시 잠금하고 다시 빌드합니다. |
| has-ansi, supports-color, slice-ansi | 6.0.1 / 10.2.1 / 7.1.1 | 미리 나열된 버전에 고정 |
| 백슬래시, is-arrayish, error-ex, simple-swizzle, chalk-template, supports-hyperlinks | 0.2.1/0.3.3/1.3.3/0.2.3/1.1.1/4.1.1 | 미리 나열된 버전에 고정 |
| duckdb, @duckdb/node-api, @duckdb/node-bindings, @duckdb/duckdb-wasm | 1.3.3 / 1.3.3 / 1.3.3 / 1.29.2 | 나열된 버전을 피하고 공급업체 업데이트를 기다리세요. |
영향을 받은 모든 패키지는 그 이후로 제거되었습니다 npm 레지스트리에 의해. 고가치 오픈 소스 유지 관리자를 손상시킴으로써 개발자가 모든 종속성을 감사하지 않기 때문에 공격은 오픈 소스 소프트웨어(OSS) 생태계에 대한 신뢰를 무기화했습니다. 그들은 사용합니다. 그들이 하는 일은 그들의 사용과 평판에 의존하는 것입니다. 등록기관의 보안.

해커는 패키지를 손상시키기 위해 피싱 경로를 택했습니다. 공격자는 먼저 npm 패키지 관리자의 계정을 하이재킹하기 위해 피싱 캠페인을 시작한 다음, 악성 코드를 npm 패키지에 삽입한 후 손상된 버전을 업로드했습니다.
개발자 조쉬 주논(Josh Junon)은 npm을 모방한 대규모 캠페인의 일환으로 피싱 이메일에 감염되었습니다. 공격자들은 npm 로그인 페이지를 모방한 피싱 사이트를 이용하여 그의 계정 정보를 훔쳤습니다. 그리고 공격자들은 접속하자마자 주논의 npm 계정에 등록된 이메일 주소를 변경하여 주논을 차단했습니다.
"안녕하세요, 네, 제가 당한 거예요. 모두 죄송해요. 정말 창피해요." 쓴 Junon은 HackerNews에서 해당 사건을 확인했습니다. 그는 npm만 영향을 받았다고 설명하기 전에 다음과 같이 설명했습니다.
"처음엔 괜찮아 보였어요. 변명할 생각은 없었고, 그냥 힘든 한 주를 보내고 아침에 정신없이 바빠서 할 일 목록에서 뭔가를 처리하려고 했던 거예요. 사이트로 바로 가는 대신 링크를 클릭하는 실수를 저질렀어요."
피싱 이메일은 support [at] npmjs [dot] help에서 발송되었으며, 겁주기 전술을 사용해 Junon이 링크를 클릭하도록 유도했고, 이 링크를 통해 Junon은 피싱 사이트로 리디렉션되었습니다.
공격자는 npm 소속이라고 가장하고 2FA 자격 증명을 업데이트하라고 요구하면서, "계정 보안에 대한 지속적인 노력"의 일환으로 모든 사용자에게 동일한 것을 요청한다고 주장했습니다.
피싱 이메일에는 "저희 기록에 따르면 마지막 12FA 업데이트 이후 2개월이 넘었습니다."라고 적혀 있으며, "오래된 2FA 자격 증명을 사용하는 사람은 무단 접근을 방지하기 위해 10년 2025월 XNUMX일부터 일시적으로 잠깁니다."라고 덧붙여 설명했습니다.
The 같은 이메일 또한 사용되었다 다른 패키지 관리자와 개발자를 타겟으로 합니다.
영향을 받은 패키지의 광범위한 사용을 감안할 때 이는 중대한 사고가 될 수 있습니다. 처리되지 않았어 너무 빨리.
Aikido Security의 Charlie Erickson으로서 보고서에 언급됨수많은 웹사이트가 이 공격으로 인해 심각한 피해를 입지 않았습니다. npm 패키지에는 웹사이트 클라이언트에서 실행되는 코드 조각이 포함되어 있었기 때문입니다.
그는 공격 분석에서 "이 악성코드는 본질적으로 네트워크 트래픽과 애플리케이션 API를 모두 가로채는 브라우저 기반 인터셉터입니다."라고 밝혔습니다. "위험한 점은 웹사이트에 표시되는 콘텐츠를 변경하고, API 호출을 조작하고, 사용자 앱에서 서명한다고 생각하는 내용을 조작하는 등 여러 계층에서 작동한다는 것입니다. 인터페이스가 정상적으로 보이더라도 내부 트랜잭션은 리디렉션되다 배경에요."
악성코드 디자인되었다 암호화폐를 훔치려고. 공격자는 암호화 지갑 주소 문자열을 스캔하여 암호화 관련 애플리케이션을 사용하는 사람들을 위험에 빠뜨립니다.
이 악성코드는 사용자 몰래 브라우저 내에서 조용히 작동하여 지갑 주소를 변조하고 공격자가 관리하는 계좌로 자금을 이체했습니다. 비트코인 거래를 직접 가로채고 조작합니다. (BTC ), 에테 리엄 (ETH ), 솔라나 (SOL ), 트론 (TRX )라이트 코인 (LTC ), 그리고 비트코인 캐시 (BCH ) 손상된 시스템에서.
이를 위해 악성 코드는 브라우저 애플리케이션 프로그래밍 인터페이스를 모니터링했습니다. 처럼 window.ethereum과 같은 가져오기 및 지갑 인터페이스.
악성 코드는 브라우저에서 암호화폐 및 Web3 활동을 조용히 가로채고 지갑 상호 작용을 조작하며 자금과 승인을 위해 지불 대상을 다시 작성합니다. 리디렉션됩니다 에릭슨은 "사용자에게 명확한 징후가 나타나지 않은 채 공격자가 제어하는 계정으로 침입이 이뤄졌다"고 말했다.
악성코드는 작업이 완료되면 흔적을 감추고, 아무것도 모르는 피해자의 네트워크에서 발생하는 미래의 모든 거래를 포착하기 위해 백그라운드에 머무릅니다.
공격의 심각성을 고려하여 하드웨어 지갑 제공업체 Ledger의 CTO인 샤를 기예메는 암호화폐 사용자들에게 온체인 거래 확인 시 주의를 당부했습니다. 영향을 받은 패키지는 다음과 같습니다. 게시물에 언급, 이미 1억 회 이상 다운로드되었습니다.
그는 대규모 공급망 공격을 커뮤니티와 공유했습니다. 타겟팅 중입니다 암호화 소프트웨어 지갑 전에, 악성 페이로드는 "자금을 훔치기 위해 즉시 암호화폐 주소를 조용히 교환합니다."
하드웨어 지갑을 사용하시는 경우, 서명하기 전에 모든 거래 내역을 꼼꼼히 확인하시면 안전합니다. 하드웨어 지갑을 사용하지 않으시는 경우, 당분간 온체인 거래를 하지 마십시오.
– 기예르메
한편, 암호화폐 분석 플랫폼인 DefiLlama의 가명 창립자인 0xngmi는 X에 접근했습니다. 몫 "효과적인 영향 영역은 '모든 웹사이트'보다 훨씬 작습니다." 위험에 처할 수 있는 프로젝트는 다음과 같습니다. 업데이트되었습니다 시간 내에 악성코드에 감염된 npm 패키지가 공개되었습니다.그럼에도 불구하고, 그는 "이 상황이 끝나고 악성 패키지가 정리될 때까지는 암호화폐 웹사이트 사용을 피하는 것이 더 안전할 것"이라고 덧붙였다.
결국 해커들은 대규모 공급망 공격에서 50달러 상당의 암호화폐만 훔칠 수 있었습니다. 50달러에는 이더리움과 브렛, 앤디와 같은 밈 코인들이 포함되어 있습니다.

하지만 그것은 무엇보다도 행운이었습니다. 암호 정보 플랫폼 Security Alliance X에 기록됨:
"훨씬 더 심각할 수도 있었습니다. 개발자 컴퓨터를 노리고 지속성에 초점을 맞춘 은밀하게 구축된 백도어가 얼마나 오랫동안 감시의 눈 밖에 있었을지 아무도 모릅니다."
그 이후, . 암호화 응용 프로그램 등 Aave, Uniswap, 원장, 목성, 메타 마스크, Phatom, 쏘다그리고 다른 사람들은 npm 공격으로부터 안전하다는 사실을 청중에게 알렸습니다.
공격은 실패했지만, 개발자들은 최고의 보안을 위해서는 자체 코드베이스를 넘어서야 한다는 점을 뼈저리게 깨닫게 되었습니다. 신뢰받고 널리 사용되어 온 소프트웨어 종속성조차도 타협하다 언제든지.
이 경우 GitHub 및 npm과 같은 코딩 플랫폼도 광범위하게 사용되는 패키지의 안전성을 보장하기 위해 더 많은 노력을 기울여야 합니다.
"인기 있는 패키지일수록 신뢰할 수 있는 출처를 통해 제공되었다는 증명을 요구해야 하며, 인터넷의 어떤 위치에서 무작위로 제공된 것이어서는 안 됩니다."
– 에릭센

결국 코드 저장소가 손상되면 개발자에게 엄청난 재앙이 될 수 있으며, 이러한 사고로 인해 전체 프로젝트를 완전히 포기하게 될 수도 있습니다.
이 사건은 오늘날 소프트웨어 생태계가 얼마나 상호 연결되어 있고 악용에 취약한지를 여실히 보여줍니다. 단 하나의 계정만 침해되어도 공격자는 엄청난 영향력을 행사할 수 있으므로, 개발 프로세스의 모든 단계에서 공급망 보안 조치를 강화하는 것이 매우 중요합니다.
급격히 증가하는 악성 소프트웨어 위협으로부터 보호
악성 소프트웨어 위협이 증가하고 있습니다. 전에, 공격이 점점 더 진보되고 표적화되고 있습니다. 중대한 사용자를 위해 be 교육받은 항상 모든 플랫폼에서 경계를 늦추지 마세요.
악성 소프트웨어나 맬웨어는 실제로 가장 흔한 사이버 공격 유형 중 하나입니다. 여기에서 공격자는 피해자가 알지 못하는 사이에 피해자의 컴퓨터에 접근하거나 손상을 입히려는 의도로 소프트웨어 코드나 컴퓨터 프로그램을 개발합니다. 손상되었다.
매년 전 세계적으로 온갖 기기와 운영 체제를 대상으로 수십억 건의 악성코드 공격이 발생합니다. 사이버 범죄자들은 악성코드를 이용하여 기기뿐만 아니라 기업 네트워크 전체를 인질로 삼습니다.
공격자는 피해자의 장치에 대한 무단 액세스를 통해 로그인 자격 증명, 신용 카드 번호 등 디지털 자산과 민감한 데이터를 훔칩니다. 기타 귀중한 정보. 기업이 상당한 양의 개인 데이터를 보유하고 있고 해커가 이를 악용해 막대한 돈을 갈취할 수 있기 때문에, 악성 소프트웨어 공격이 기업을 표적으로 삼는 경우가 점차 늘어나고 있습니다.
데이터는 대다수(59%)의 조직이 이러한 공격을 받았습니다. 2024년에는 소규모 기업도 안전하지 않은데, 작년에 47%의 기업이 랜섬웨어 공격을 받았습니다. 한편, 이 기간 동안 평균 몸값은 500% 급증하여 2만 달러를 기록했습니다.
악성 소프트웨어 공격으로 인한 복구의 평균 비용도 2.73만 달러로 치솟았습니다. 현재 인터넷이 직면한 가장 큰 위협 중 하나는 다양한 방법으로 침투할 수 있는 악성 소프트웨어입니다. 컴퓨터 시스템과 사용자에게 해를 끼치는 것을 유일한 목적으로 하는 형태입니다.
바이러스, 랜섬웨어, 트로이 목마, 웜, 스파이웨어, 애드웨어, 크립토재킹은 모두 다양한 유형의 멀웨어입니다. 설계되었습니다 네트워크에 무단으로 접근하거나 컴퓨터 시스템을 손상시키는 행위.
공격의 근본 원인에 관해서는 가장 큰 32%는 공격자가 취약점을 악용하는 것이고, 그 다음으로는 자격 증명이 손상된 경우(29%), 악성 이메일이 그 뒤를 이었습니다(23%).
지금, 퀴즈를 풀어보고, 어떻게 하면 항상 존재하는 이러한 위협으로부터 자신을 보호할 수 있을까? 첫 번째이자 가장 간단한 단계는 컴퓨터와 소프트웨어를 항상 최신 상태로 유지하는 것입니다. 또한, 당신이하지 않는 것이 중요합니다 인터넷에서 거의 모든 것을 클릭하는 것은 자유입니다. 특히 암호화폐 사용자라면 링크를 의심해야 하며, 확실하지 않은 링크는 절대 다운로드하지 마세요.
모든 이메일 첨부 파일도 마찬가지입니다. 의심스러운 이메일은 열지 않도록 주의하고 파일 공유는 최소화하세요. 기기에 바이러스 백신 소프트웨어를 설치하는 것이 좋습니다.
피할 수 없는 일이기는 하지만, 조직은 방어 체계를 강화하여 맬웨어 공격에 대비할 수도 있습니다. 이를 수행하는 가장 간단한 방법은 강력한 암호, 다중 요소 인증 및 VPN을 사용하는 것입니다. 이를 통해 개인은 자신을 보다 효과적으로 보호할 수도 있습니다..
조직은 의심스러운 활동 징후를 파악하기 위해 장치를 지속적으로 모니터링하고, 취약점을 평가하며, 침투 테스트를 수행해야 합니다. 이와 동시에 네트워크에서 분리된 드라이브에 중요 데이터를 백업해 두면 맬웨어 공격으로부터 시스템을 복구하는 데 도움이 됩니다.
직원들은 다음을 수행해야 합니다. 훈련을 받다 에 장소 그러한 공격 더 사고 대응 계획을 갖고 누구에게 연락해야 할지 아는 것으로 신속하게 대응할 수 있습니다. ...에 악성 소프트웨어 위협이 의심됩니다.
제로 트러스트 네트워크 아키텍처를 활용함으로써 기업은 누구도 허용되지 않은 데이터나 자산에 접근하는 것을 방지할 수 있습니다. 제로 트러스트 환경에서는 사용자는 절대 신뢰되지 않으며 항상 검증됩니다.
오늘날의 초디지털화 시대에 생활이러한 관행은 도움이 될 수 있습니다 한 보호 자신 점점 더 상호연결되는 세상의 위험에 맞서기 위해.
악성 패키지로부터 자신을 보호하는 것과 관련하여 일반적인 맬웨어 보안 권장 사항은 npm 공격에도 적용됩니다., 그러나 물론, 생태계가 특히 개방적인 성격을 띠고, 소규모 패키지가 많이 재사용되고, 종속성 트리가 크기 때문에 취약하기 때문에 취해야 할 추가적이고 구체적인 예방 조치도 있습니다.
이 심각한 위협으로부터 자신을 보호하려면 패키지를 설치하기 전에 항상 패키지의 안정성을 다시 한번 확인해야 합니다. 패키지 무결성을 확인하면 종속성 트리가 손상되지 않았음을 확인할 수 있습니다.
불법적인 징후를 찾을 때 패키지의 출처와 소유권 외에도 다음을 조사하십시오. 유지 관리자에게 가해진 변경 사항. 자신의 5월 또한 원하는 패키지의 기능과 필요성을 살펴보세요.
새로운 위협을 지속적으로 모니터링하고 상황을 완화하기 위한 실행 가능한 조언을 제공하는 보안 도구를 사용하세요. npm 감사 검사를 실행할 수 있습니다 프로젝트 종속성의 알려진 취약점을 파악합니다. 배포 전에 자동화된 보안 검사를 구현하면 검토 및 승인된 코드만 프로덕션에 배포될 수 있습니다.
이제 최신 맬웨어 공격으로부터 자신을 보호하려면 package.json의 재정의 기능을 사용하여 손상되기 전에 영향을 받은 패키지를 가장 안전한 버전으로 고정해야 합니다.
npm 감사를 실행하거나 소프트웨어 구성 분석(SCA) 도구를 사용하여 종속성 트리에서 영향을 받는 버전을 확인하세요. 빌드 로그, 개발자 환경 및 아웃바운드 트래픽에서 의심스러운 활동을 확인하여 침해 지표(IoC)를 모니터링하세요.
사이버 공격에 맞서 싸운 상위 5개 기업 목록을 보려면 여기를 클릭하세요.
마무리 생각: 오픈 소스 종속성 강화
인터넷상의 위협은 끊임없이 증가하고 있으며 더욱 정교해지고 있습니다.
와 공격자 선회 새로운 공격 벡터와 대상 자원이 부족한 프로젝트에서는 개발자, 기업 및 사용자가 위협이 발생할 때까지 기다리지 않는 것이 매우 중요해지고 있습니다. 표시 전에 연기,하지만 받아 사전 대책 왜냐하면 하나이기 때문에 약한 링크는 할 수 있습니다 내리다 전체 시스템.
새로운 위협에 대한 정보를 얻고 소프트웨어 공급망을 지속적으로 감사하는 것이 중요합니다. 끊임없이 진화하는 사이버 위험으로부터 우리 자신을 확실히 보호할 수 있는 위협을 모니터링합니다.










