npm 악성 패키지 대규모 공격

반응형

npm 악성 패키지 대규모 공격

npm 악성 패키지 대규모 공격

npm 악성 패키지 대규모 공격

북한 해커조직이 npm 레지스트리에 무려 197개의 악성 패키지를 업로드하며
최신 변종 OtterCookie 악성코드를 대규모로 유포한 사실이 확인됨
개발자 채용 과정까지 위조한 정교한 사회공학 기법이 결합되어
오픈소스 생태계 전체가 심각한 공급망 공격 위험에 노출됨

최근 보안 분석 결과, 북한 연계 해킹 조직이 npm 패키지 197개를 악성 버전으로 업로드하며 광범위한 공급망 공격을 시도한 것으로 확인됐다. 특히 이번 공격은 단순 패키지 오염을 넘어 개발자 채용 절차까지 조작하는 사회공학 기법이 결합되며 위협 수준이 크게 증가했다.

1. npm 등록소를 겨냥한 대규모 악성코드 유포

공격자는 최근 한 달 동안 지속적으로 npm에 악성 패키지를 올려 총 197개가 확인되었다. 다운로드 수는 이미 3만 건을 넘겼으며, 설치 시 자동 실행되는 변종 OtterCookie 악성코드는 개발자 환경을 정밀하게 노린 기능을 갖고 있다.

npm은 전 세계 개발자들이 사용하는 중앙 저장소라는 점에서, 악성 패키지 하나가 전체 공급망에 영향을 미칠 수 있는 구조적 취약성이 존재한다.

2. OtterCookie 최신 변종 특징

이번에 유포된 변종 OtterCookie는 과거보다 훨씬 고도화된 기능을 포함하고 있다. BeaverTail 악성코드 기능까지 통합되면서 하나의 악성코드가 다양한 공격을 수행할 수 있도록 변형되었다.

  • 가상머신·샌드박스 탐지
  • 운영체제·프로세스·HW 정보 수집
  • 공격자 C2 서버와 지속 통신
  • 키로깅‧클립보드 정보 탈취
  • 브라우저 저장 비밀번호·인증 정보 탈취
  • 암호화폐 지갑 키·시드 구문 수집

특히 브라우저 플러그인에서 암호화폐 지갑 정보를 직접 훔치는 기능이 포함되며 위험성이 크게 증가했다.

3. 가짜 채용 인터뷰를 이용한 사회공학 공격

이번 공격은 단순한 라이브러리 위조를 넘어, 개발자 채용 담당자로 위장한 공격자가 “코딩 테스트용 패키지 설치가 필요하다”며 악성 npm 패키지를 설치하게 유도하는 방식으로 이루어졌다.

공격 패키지 예시:

  • tailwind-magic
  • node-tailwind
  • react-adparser
  • json-oauth
  • session-keeper

해당 패키지들은 설치 즉시 postinstall 스크립트를 실행해 외부 서버(Vercel → GitHub)에서 악성 페이로드를 다시 다운로드하는 구조다. 이러한 다단계 전송 방식은 탐지 회피에 매우 효과적이다.

동시에 유포 중인 ‘ClickFake Interview’ 캠페인에서는 가짜 카메라 오류 해결 도구로 위장한 파일이 macOS LaunchAgent 백도어를 설치해 비밀번호 입력창·권한 승인창을 조작하여 사용자 인증 정보를 탈취한다.

4. 오픈소스 공급망 전체를 위협하는 심각한 구조적 문제

npm은 수백만 개발자가 사용하는 글로벌 저장소이기 때문에, 악성 패키지 하나가 기업 전체 CI/CD 파이프라인으로 전파될 수 있다.

실제로 이번 공격은 “가장 빠르게 확산 중인 공급망 공격 사례”로 평가되며 오픈소스 생태계 보안 체계 전반의 취약점을 여실히 드러냈다.

5. 개발자와 조직이 반드시 지켜야 할 보안 수칙

보안 전문가들은 다음과 같은 점을 강력히 경고한다.

  • 패키지 설치 전 유지관리자 이력·생성일·다운로드 패턴을 반드시 확인
  • 최근 생성되었거나 이름이 유사한 패키지는 높은 위험도
  • postinstall 단계에서 외부 서버 접속이 발생하는 패키지는 즉시 의심
  • 개발 환경에서 외부 도메인 접속 트래픽 모니터링
  • CI/CD 빌드 서버는 민감 정보가 없는 격리 환경에서 운영

전문가들은 “npm 패키지 하나가 조직 전체의 보안 체계를 흔들 수 있다”며 개발자는 어떤 패키지에서도 “무심코 설치”를 해서는 안 된다고 강조한다.

반응형