하지만 공격자가 한 것은 암호화폐를 훔치려 시도한 것뿐이었다

총 20억 회 이상의 주간 다운로드 기록을 가진 JavaScript 패키지 18개가 '역사상 최대 규모의 공급망 해킹'으로 지목되며 악성 코드에 감염되었습니다. 이 감염된 코드는 암호화폐를 탈취하는 것을 목적으로 설계되었습니다.
상상해 보십시오. 마블 시네마틱 유니버스에서 죽음에 집착하는 광기로 재탄생한 타노스가 우주에서 가장 급진적인 환경운동가가 되었습니다. 그는 인피니티 건틀렛을 완성합니다. 이 힘으로 우주 인구의 절반을 몰살할 수도 있습니다. 손을 들어 손가락을 튕기자... 그 대신 암호화폐 무더기를 훔쳐갔습니다. 물론 인피니티 건틀렛 자체로도 엄청난 골칫거리겠지만, 그 첫 번째 손가락 튕김은 오히려 안도감을 주지 않을까요?
최근 수십억 건의 다운로드 기록을 가진 JavaScript 패키지들이 오염된 사례가 바로 그런 기분을 자아냅니다. 알려지지 않은 위협 행위자(threat actor)가 이 패키지의 관리자를 얼마나 쉽게 장악하고, 소프트웨어를 수정하여 배포할 수 있었는지가 과연 현대 소프트웨어 개발의 참혹한 상태를 드러내는 것일까요? 당연합니다. 하지만 다행히도, 이들은 대혼란을 야기하기보다는 단순히 돈벌이에 초점을 맞췄습니다.
해커들에게 감염된 JavaScript의 가장 인기 있는 라이브러리
암호화폐 플랫폼 Drift, 2억 7천만 달러의 피해가 추정된 해킹 피해를 입다
사건의 전말은 다음과 같습니다. Aikido는 어제, 18개의 패키지가 "웹사이트의 클라이언트 환경에서 실행되는 코드를 포함하도록 업데이트되었으며, 이 코드는 브라우저 내에서 암호화폐 및 web3 활동을 은밀하게 가로채고, 지갑 상호작용을 조작하며, 결제 목적지를 위변조하여 사용자에게 아무런 명확한 징후 없이 자금과 승인이 공격자가 통제하는 계정으로 리디렉션한다"고 밝혔습니다.
문제의 패키지들은 Node.js 생태계의 패키지 관리자이자 레지스트리인 npm, GitHub를 통해 배포되며, 이 패키지들은 집계적으로 주당 약 20억 건이 다운로드되는 방대한 규모입니다. 이론적으로 해커는 이 패키지를 수정하는 능력을 이용해 무엇이든 할 수 있었습니다. Aikido에 따르면, 이들이 목표로 삼은 것은 '이더리움(Ethereum), 비트코인(Bitcoin), 솔라나(Solana), 트론(Tron), 라이트코인(Litecoin), 비트코인 캐시(Bitcoin Cash)'였습니다.
이 악성 패키지가 얼마나 넓게 퍼졌는지는 알 수 없습니다. 물론 패키지 자체의 주간 다운로드량은 수십억 건에 달하지만, 이는 프로젝트의 종속성(dependency)을 빌드 시스템이 지속적으로 가져오고 재가져오는 과정의 부산물인 측면이 있습니다. 하지만 이 패키지들이 얼마나 대중적인지는 부인할 수 없으며, 해당 패키지에 의존하는 조직들은 악성으로 변조된 릴리스를 사용하고 있지 않은지 반드시 확인해야 합니다.
하지만 이것이 최소한 치밀하게 계획된 공격의 결과였을까요? 결코 아닙니다. 이 패키지의 관리자(참고로 Bluesky에서 "bad-at-computer"라는 핸들을 사용하는 인물)가 "support@npmjs.help"에서 온 "매우 정당해 보이는" 2단계 인증(2FA) 재설정 이메일을 받았고, 이를 무해한 것으로 오해한 것이 발단이었습니다. 결코 무해하지 않았습니다. 이 정도 규모의 해킹을 성공시키기 위해 필요했던 것은 단지 도메인 이름, 이메일 주소, 그리고 시도하려는 의지뿐이었습니다.
이는 새로운 문제도 아니며, npm에 국한된 문제도 아닙니다. 저는 2021년 해커들이 JavaScript, Python, Ruby, Java 개발자들이 자신들의 소프트웨어에 사용하는 패키지 관리자를 표적으로 삼았다고 보도한 적이 있으며, 그때조차 이 문제는 이미 수년간 알려진 위험이었습니다. 악명 높은 left-pad 사건(11줄의 코드 삭제가 너무 많은 소프트웨어에 의존하고 있어 '인터넷을 마비'시켰던 사건)은 2016년에 발생하기도 했습니다.
업계는 이 문제에 대응하기 위해 소프트웨어 구성 명세서(SBOMs) 사용을 장려하고, 널리 사용되는 패키지의 관리자들에게 2단계 인증을 통해 계정을 보호하도록 요구하는 등의 노력을 지속해왔습니다. 그러나 이번 사건은 그 모든 노력이 충분치 않았음을 보여줍니다.
[결론]
원문이 매우 자연스러웠기 때문에, 흐름을 끊지 않으면서도 각 단락의 역할을 명확히 구분하여 가독성 높은 보고서 형식으로 재구성하는 데 초점을 맞추었습니다.
- 원문 대비 개선점: 문장 구조를 좀 더 단단하게 다듬고, 전문 용어(예: "패키지 관리 시스템", "종속성")에 대한 이해를 전제하며 글의 밀도를 높였습니다.
- Tone & Style: 정보 전달이 목적인 전문적인 기술 블로그나 리포트 형식에 적합합니다. (가장 적절함)