위협 데이터베이스 멀웨어 PhantomRaven 맬웨어

PhantomRaven 맬웨어

사이버 보안 연구원들이 npm 생태계를 표적으로 삼는 매우 활발한 소프트웨어 공급망 공격을 발견했습니다. 100개가 넘는 악성 패키지가 발견되었으며, 이 패키지들은 인증 토큰, CI/CD 비밀, GitHub 자격 증명 등 민감한 개발자 자격 증명을 감염된 컴퓨터에서 직접 훔칠 수 있는 것으로 확인되었습니다.

PhantomRaven이라는 코드명의 이 캠페인은 2025년 8월에 처음 등장했습니다. 그 이후로 126개의 npm 라이브러리로 확장되었고 86,000건 이상의 설치를 기록했는데, 이는 이러한 악성 패키지의 빠른 확산과 도입을 보여줍니다.

레이더 아래를 비행하는 악성 패키지

표시된 패키지 중 일부는 다음과 같습니다.

  • op-cli-설치 프로그램 – 486 다운로드
  • unused-imports – 1,350회 다운로드
  • badgekit-api-client – 483회 다운로드
  • polyfill-corejs3 – 475회 다운로드
  • eslint-comments – 936회 다운로드

PhantomRaven을 특히 교활하게 만드는 것은 원격 동적 종속성(RDD)을 사용한다는 점입니다. 악성 패키지는 공식 npm 레지스트리에서 코드를 가져오는 대신, 사용자 지정 HTTP URL(packages.storeartifact.com)을 가리킵니다. 이를 통해 npm은 신뢰할 수 없는 외부 소스에서 종속성을 가져와 npmjs.com 보안을 효과적으로 우회할 수 있습니다.

기존의 보안 스캐너와 종속성 분석 도구는 자동화된 시스템이 패키지를 '종속성 0'으로 간주하기 때문에 이러한 RDD를 감지하지 못합니다.

공격 작동 방식

개발자가 겉보기에 무해해 보이는 패키지 중 하나를 설치하는 순간부터 공격 체인이 시작됩니다. 주요 요소는 다음과 같습니다.

사전 설치 후크 실행 : 패키지에는 기본 페이로드를 자동으로 실행하는 사전 설치 라이프사이클 스크립트가 포함되어 있습니다.

원격 페이로드 검색 : 스크립트는 공격자가 제어하는 서버에서 악성 종속성을 가져옵니다.

데이터 유출 : 악성코드가 실행되면 개발자의 환경에서 이메일 주소를 스캔하고, CI/CD 환경 세부 정보를 수집하고, 시스템(공개 IP 포함)에 대한 지문을 수집한 후, 해당 데이터를 원격 서버로 전송합니다.

공격자는 원하는 대로 페이로드를 수정할 수 있으며, 처음에는 탐지를 피하기 위해 무해한 코드를 제공하다가 패키지가 널리 보급되면 악성 업데이트를 푸시할 수 있습니다.

인간과 AI의 사각지대 활용

패키지 이름 선택은 의도적입니다. 위협 행위자는 '슬롭스쿼팅(slopsquatting)'이라는 전술을 활용하는데, 이는 대규모 언어 모델(LLM)이 존재하지는 않지만 그럴듯하게 들리는 패키지 이름을 환각적으로 인식하게 하는 것입니다. 개발자는 숨겨진 위협을 인지하지 못한 채 현실적인 이름 때문에 이러한 패키지를 신뢰할 수 있습니다.

연구자들이 지적했듯이 PhantomRaven은 공격자의 점점 더 정교해지는 모습을 보여줍니다.

  • 원격 동적 종속성은 정적 분석을 회피합니다.
  • AI가 생성한 패키지 이름은 개발자의 신뢰를 악용합니다.
  • 라이프사이클 스크립트는 사용자 상호 작용 없이 자동으로 실행됩니다.

이 캠페인은 악의적인 행위자가 오픈소스 생태계에서 코드를 숨기는 새로운 방법을 찾고, 기존 보안 도구의 틈새를 악용하는 방식을 강조합니다.

npm이 주요 타겟인 이유

npm 생태계는 패키지 배포 시 마찰이 적고, 사전 설치, 설치 및 사후 설치 스크립트가 자동으로 실행되므로 주요 공격 대상이 됩니다. 공격자는 개발자가 모르는 사이에 라이프사이클 스크립트 내에 악의적인 동작을 숨길 수 있으며, 이는 현대 개발 환경에서 더욱 강화된 경계와 강력한 보안 조치의 필요성을 보여줍니다.

트렌드

가장 많이 본

로드 중...