자바스크립트 개발자가 되기에 어려운 시대이다.

JavaScript 개발자에게는 지금이 매우 어려운 시기입니다. 코이 시큐리티(Koi Security)는 어제 발표를 통해 "역사상 가장 거대하고 위험한 npm 공급망 감염 사례"를 추적하고 있다고 밝혔습니다. 이 보안 기업에 따르면, 샤이-훌루드(Shai-Hulud) 악성코드 캠페인은 "현재 여러 유지 관리자를 거쳐 수백 개의 패키지에 영향을 미쳤으며," 이에는 "@ctrl/tinycolor와 같은 인기 라이브러리뿐만 아니라 CrowdStrike가 관리하는 패키지도 포함됩니다." (이는 코이 시큐리티가 강조한 부분입니다.)
더욱 우려스러운 것은 상황이 개선되기 전에 악화될 가능성이 높다는 점입니다. 해당 악성코드는 패키지에서 패키지로 자율적으로 확산되는 웜(worm) 형태이기 때문입니다. 코이 시큐리티는 이번 캠페인을 공개한 블로그 게시물에서, "공격자들이 @ctrl/tinycolor 및 기타 npm 패키지의 악성 버전을 게재하여, 설치 과정에서 자동으로 실행되는 대용량 난독화 스크립트(bundle.js)를 주입했습니다."라고 설명했습니다. 이 페이로드는 원래의 유지 관리자 프로젝트를 재패키징하고 재게시함으로써, 개발자의 직접적인 개입 없이 악성코드가 관련 패키지 전반에 걸쳐 측면 이동(lateral spread)할 수 있도록 만듭니다.
명확히 하자면, 이번 캠페인은 지난 9월 9일에 보도된 사건과는 별개입니다. 당시에는 암호화폐를 탈취하기 위해 수십억 건의 주간 다운로드를 기록한 여러 npm 패키지가 감염되었습니다. 생태계 자체는 동일하며, 공격자들이 노드.js 생태계를 위한 GitHub 소유 npm 패키지 레지스트리를 가치 있는 목표물로 명확히 인식했음을 보여줍니다. 그러나 샤이-훌루드 캠페인을 주도한 배후 세력은 단순한 비트코인 이상의 것을 노리고 있습니다.
코이 시큐리티는 "주입된 스크립트는 자격 증명 수집(credential harvesting)과 지속성 확보 운영(persistence operations)을 수행합니다."라고 밝혔습니다. "이 스크립트는 TruffleHog를 실행하여 npm 토큰, GitHub 자격 증명, 그리고 [Amazon Web Services], [Google Cloud Platform], Azure와 같은 클라우드 접근 키를 포함한 로컬 파일 시스템 및 저장소를 스캔합니다. 또한 CI/CD 실행 중에 비밀 정보를 외부로 유출하는 숨겨진 GitHub Actions 워크플로우 파일(.github/workflows/shai-hulud-workflow.yml)을 작성하여, 초기 감염 이후에도 장기간 접근권을 확보합니다. 이처럼 엔드포인트 비밀 정보 탈취와 백도어 생성이라는 이중적인 초점은 샤이-훌루드를 이전의 모든 감염 사례들과 비교했을 때 가장 위험한 캠페인 중 하나로 만듭니다."
이 내용은 노드.js 소프트웨어를 개발하고 배포하는 데 대한 걱정이 없는 사람에게는 혼란스럽게 들릴 수 있습니다. 그러나 핵심은 샤이-훌루드가 잘 알려진 공격 보안 도구인 TruffleHog와 개발자 도구인 GitHub Actions를, 개발자의 개입 없이 소프트웨어를 배포하도록 특별히 설계된 환경(npm)과 결합하여 사용하고 있다는 점입니다.
저희는 이전 보고서에서, 암호화폐를 훔치기 위해 npm 패키지를 감염시킨 주체가 우리에게 호의를 베푼 것이라고 주장했었습니다. 왜냐하면 그들이 해당 패키지에 접근한 권한을 이용해 훨씬 더 심각한 공격을 수행할 수도 있었기 때문입니다. 이제는 누군가 정확히 그러하려는 것처럼 보입니다. 노드.js 생태계와 그 주변에 구축된 도구들이 이처럼 광범위한 공격을 가능하도록 사실상 설계되었다는 점을 감안할 때, 놀라움을 표하기는 어렵습니다.
코이 시큐리티는 샤이-훌루드 캠페인을 통해 감염된 것으로 알려진 npm 패키지 목록을 포함하여 블로그 게시물을 업데이트하고 있습니다. StepSecurity 역시 악성코드가 어떻게 확산되는지, 어떤 기능을 하는지, 그리고 조직이 감염된 패키지가 인프라 어딘가에서 사용된 것을 발견했을 때 어떻게 대응해야 하는지에 대한 기술적 분석과 함께 침해 지표(Indicators of Compromise)를 공개했습니다.
최신 뉴스, 분석 및 리뷰를 받아보려면 Tom's Hardware를 Google News에서 팔로우하거나 선호 소스로 추가하십시오. 팔로우 버튼을 클릭하는 것을 잊지 마세요!