PolinRider 공급망 공격 분석 npm·Packagist·Go·Chrome 108개 악성 패키지 한국 개발팀 즉시 점검 가이드

2026년 7월, 보안 매체 The Hacker News는 북한 위협 행위자가 npm·Packagist·Go·Google Chrome 등 4개 주요 소프트웨어 저장소에 걸쳐 108개의 악성 패키지와 브라우저 확장 프로그램을 게시했다고 보도했습니다. PolinRider라는 이름의 이번 활동은 기존 Contagious Interview 캠페인이 진화한 형태로, 한국 개발자 생태계가 적극적으로 사용하는 도구들을 정면으로 겨냥하고 있어 업계의 긴장이 높아지고 있습니다.

  • PolinRider 캠페인이 108개 악성 패키지 및 브라우저 확장을 npm·Packagist·Go·Chrome에 동시 게시
  • 공격의 핵심 동기는 암호화폐 탈취와 개발자 계정 장악으로 분석됨
  • 타깃이 한국을 포함한 글로벌 개발자 생태계 전반으로 확산될 가능성이 제기됨

공급망 공격은 이제 특정 기업이 아니라 오픈소스 의존성을 사용하는 모든 한국 개발팀의 1차 방어선이 되었습니다.

PolinRider 캠페인이란? Contagious Interview에서 진화한 다중 플랫폼 공급망 공격

공격 행위자의 추정 소속과 암호화폐 탈취 목적

PolinRider는 기존에 알려진 Contagious Interview 캠페인의 후속 작전으로 분류됩니다. 가짜 채용 제안과 기술 테스트를 미끼로 개발자를 유인한 초기 단계에서 벗어나, 이제는 직접 공개 저장소에 악성 자산을 대량으로 노출하는 방식으로 진화한 것입니다. 보고서에 따르면 게시된 구성 요소 다수에 암호화폐 지갑 정보를 훔치는 기능이 포함된 것으로 분석되며, 수익형 사이버 범죄의 성격이 강하게 드러납니다.

108개 악성 패키지·확장이 단기간에 게시된 시기와 확산 속도

108개라는 수치는 단일 저장소가 아닌 4개 플랫폼 합산치입니다. 동일 캠페인에서 이 정도 규모가 동시 다발적으로 노출되었다는 점은, 공격자가 자동화된 게시 파이프라인과 다수의 위장 계정을 사전에 확보했음을 시사합니다. 보고 시점 기준 일부 패키지는 이미 제거 조치되었으나, 다운로드 및 설치 이력이 남아 있는 시스템에서는 사후 정밀 조사가 필요한 상황으로 보입니다.

4대 플랫폼 침투 경로: npm, Packagist, Go, Chrome 확장

npm 레지스트리 기반 패키지 타이포스쿼팅 및 위장 수법

npm은 한국 프론트엔드·백엔드 개발자 모두가 일상적으로 사용하는 저장소입니다. 공격자는 유명 라이브러리 이름과 유사한 타이포스쿼팅 네이밍, 메타데이터 위장, 그리고 install·postinstall 단계의 스크립트 실행을 통해 초기 침투를 시도합니다. 사소한 오타나 비공식 미러 사용이 곧바로 빌드 파이프라인 오염으로 이어질 수 있습니다.

Chrome 웹스토어 확장 프로그램 악성 삽입 사례와 우회 기법

Chrome 확장은 한국 사무 환경에서 사실상 표준 도구입니다. PolinRider에 포함된 확장들은 정적 분석 단계에서는 정상 기능을 노출하고, 특정 조건이 충족된 후 악성 동작을 활성화하는 지연 실행 패턴을 사용한 것으로 보고됩니다. 이는 일반 기업 EDR이 탐지하기 어렵게 만들 수 있는 우회 기법으로 보고됩니다.

Go 모듈과 Packagist(PHP) 저장소 침투 양상

Go 모듈과 PHP 기반 Packagist 역시 공격 대상에 포함되었습니다. 한국 클라우드·핀테크·커머스 백엔드에서 Go와 PHP가 광범위하게 사용된다는 점을 고려하면, 사내 모듈 캐시와 vendor 디렉터리 안에 오염된 의존성이 잠재해 있을 가능성이 제기됩니다. 빌드 산출물을 그대로 프로덕션 이미지로 옮기는 조직일수록 위험이 커집니다.

공격 기술 심층 분석: 사회공학, 코드 난독화, 지속성 확보

암호화폐 지갑 정보 탈취 메커니즘과 정보 유출 채널

악성 패키지의 핵심 페이로드는 브라우저 기반 지갑 플러그인 데이터, 클립보드 내용, 그리고 사용자가 직접 입력한 시드 문구 수집에 초점이 맞춰져 있습니다. 유출 채널은 주로 암호화된 외부 호스팅과 정상적인 CDN 트래픽으로 위장된 C2 통신을 혼합하는 형태인 것으로 분석됩니다. 메타마스크, Phantom 등 한국 사용자가 다수 이용하는 지갑이 1차 타깃에 포함될 가능성이 있습니다.

개발자 빌드 파이프라인 장악을 통한 2차 유포 가능성

단순 개인 사용자 탈취를 넘어, 사내 CI/CD에 침투한 악성 의존성은 빌드 단계에서 백도어 형태로 코드에 삽입될 가능성이 제기됩니다. 이 경우 최종 산출물인 컨테이너 이미지나 배포 패키지에 백도어가 포함되어 다운스트림 사용자에게까지 피해가 확산될 가능성이 제기됩니다. 공급망 공격의 연쇄 효과 측면에서 가장 경계해야 할 시나리오입니다.

한국 개발자·기업에 미치는 영향과 즉시 점검 포인트

사내 npm·Go·Composer 의존성 사용 현황 점검 체크리스트

한국 DevSecOps 팀은 다음 항목을 우선 점검할 필요가 있습니다.

  • package.json·go.mod·composer.json에 등록된 모든 의존성의 작성자, 등록일, 다운로드 수 변동 추이 확인
  • 최신 악성 패키지 목록과 사내 의존성 이름의 부분 일치 여부 교차 조회
  • install·postinstall 등 라이프사이클 스크립트 실행 로그 감사
  • 사내 비공개 레지스트리 도입 및 미러 정책 강화

브라우저 확장 정책 및 EDR 탐지 규칙 보강 권고

Chrome 확장은 엔드포인트 영역 보안의 사각지대입니다. 사내 정책으로 화이트리스트 방식의 확장 허용 목록을 운영하고, EDR 솔루션에 비공식 확장 설치 알림 규칙을 추가해야 합니다. 또한 확장 권한에 host_permissions 광범위 요청이 감지될 경우 격리 조치하는 절차를 마련할 필요가 있습니다.

대응 전략: 공급망 보안 프레임워크와 SBOM 기반 의존성 검증

패키지 서명 검증·고정(pinning)·비공개 레지스트리 운영 절차

장기적으로는 SBOM(Software Bill of Materials)을 빌드 산출물 단위로 자동 생성하고, 의존성을 정확한 버전으로 고정(pinning)하는 정책이 효과적입니다. 주요 패키지에 대해서는 작성자 서명 검증을 CI 단계에 강제하고, 가능하면 사내 비공개 레지스트리 미러를 통해 외부 변동에 따른 즉각적인 오염을 차단하는 절차가 권고됩니다.

위협 인텔리전스 공유와 사고 대응 플레이북 구축

단일 기업의 대응에는 한계가 있습니다. PolinRider처럼 빠르게 진화하는 캠페인에 대해서는 ISAC, KISA, 그리고 글로벌 위협 인텔리전스 커뮤니티와의 정보 공유 체계가 필수적입니다. 패키지 탐지 후 24시간 내 차단, 로깅, 고객 통보 절차를 플레이북으로 명문화해 두는 것이 사고 확산을 최소화하는 핵심입니다.

  • 공격의 본질: 오픈소스 저장소를 1차 침투 경로로 활용하는 다중 플랫폼 공급망 공격
  • 한국 영향: npm·Go·PHP·Chrome 확장을 일상적으로 사용하는 한국 개발팀 전반이 잠재적 표적
  • 즉시 행동: 사내 의존성 점검, install 스크립트 감사, 브라우저 확장 화이트리스트 적용
  • 중장기 과제: SBOM 자동화, 의존성 고정, 비공개 레지스트리, 위협 인텔리전스 공유 체계 구축

참고 자료:

#PolinRider #ContagiousInterview #북한해킹그룹 #악성npm패키지 #악성Chrome확장 #소프트웨어공급망공격 #암호화폐탈취 #Go모듈악성코드 #Packagist #개발자보안 #SBOM #의존성검증 #위협인텔리전스 #한국개발자대응

댓글 남기기