剣 KENSAI
← 보안 블로그로 돌아가기
보안 브리핑 읽는 시간 7분

npm 생태계를 노린 새로운 공급망 공격 — 악성 패키지 15개 발견

보안 연구진이 주간 다운로드 합계 47,000회를 넘는 악성 npm 패키지 15개를 발견했습니다. 이 패키지들은 인기 라이브러리를 흉내 내 자격 증명을 훔치고 백도어를 삽입하며 환경 변수를 외부로 유출합니다.


공격 개요

Socket Security 연구진은 npm 레지스트리에서 악성 패키지 15개를 확인했습니다. 탐지되기 전까지 이 패키지들의 주간 다운로드 합계는 47,000회를 넘었습니다. 공격자는 타이포스쿼팅의존성 혼동 기법을 사용해 개발 파이프라인에 침투했습니다.

⚠️ 즉각적인 조치 필요

아래에 나열된 영향받는 패키지가 package.jsonpackage-lock.json 에 포함돼 있는지 확인하십시오. 일치하는 항목이 하나라도 발견되면 해당 패키지를 제거하고 모든 자격 증명을 교체해야 합니다.


식별된 악성 패키지

패키지 이름모방 대상주간 다운로드페이로드
axoisaxios12,400자격 증명 탈취
react-dom-utilsreact-dom8,200백도어 삽입
lodash-utils-2lodash6,800환경 변수 유출
express-sessoinexpress-session4,100세션 탈취
dotenv-expand-clidotenv-expand3,900비밀정보 탈취
webpack-dev-srvwebpack-dev-server2,800리버스 셸

15개 중 6개 패키지만 표시했습니다. 전체 목록은 KENSAI 위협 인텔리전스 피드에서 확인할 수 있습니다.


공격 기법

타이포스쿼팅

공격자는 인기 라이브러리 이름에서 흔히 발생하는 오타를 패키지 이름으로 등록합니다. 문자 하나만 다른 axoisaxios 만으로도 서두르는 개발자를 속일 수 있습니다.

의존성 혼동

일부 패키지는 내부용처럼 보이는 이름(예: @company-internal/auth-utils)을 사용했습니다. 공개 npm 레지스트리와 비공개 레지스트리를 적절한 스코프 설정 없이 혼용하는 조직을 노린 수법입니다.

설치 후 실행 훅

15개 패키지 모두 npm install 과정에서 postinstall 스크립트를 통해 악성 코드를 실행합니다. 페이로드는 Base64 인코딩, 문자열 연결 및 동적 eval() 호출로 난독화돼 있습니다.


영향 평가


대응 방법

  1. 의존성 감사: 다음 명령을 실행합니다. npm audit 를 실행하고 타이포스쿼팅 변형 패키지가 있는지 확인합니다.
  2. 잠금 파일 사용: 항상 다음 파일을 커밋하고 package-lock.json 을 항상 커밋하고 무결성 해시를 검증합니다.
  3. 스코프 패키지 사용: npm이 @your-org/ 스코프가 지정된 내부 패키지만 허용하도록 설정합니다.
  4. 자격 증명 교체: 악성 패키지를 하나라도 설치했다면 모든 비밀정보를 즉시 교체합니다.
  5. npm 감사 서명 활성화: npm에 내장된 서명 검증 기능으로 패키지 출처를 확인합니다.

Kensai로 조직 보호

331,910개 이상의 CVE를 색인한 AI 기반 취약점 관리 플랫폼입니다.

무료 체험 시작

안전을 유지하세요. 경계를 늦추지 마세요.

🗡️ KENSAI 보안팀

🛡️ 귀하의 웹사이트는 안전한가요?

공격자보다 먼저 취약점을 발견하세요.

웹사이트를 무료로 스캔하세요 →