Security trend

We will deliver the up-to-date security information timely.

[해외동향] npm linter 패키지, 피싱 공격으로 맬웨어 유포

2025-07-21

이번 주 인기있는 JavaScript 라이브러리가 피싱 공격과 자격증명 도용을 통해 맬웨어 유포자로 변질되었습니다. 주간 3천만 번 이상 다운로드되는 npm 패키지인 eslint-config-prettier는 관리자가 피싱 공격에 당한 후 침해되었습니다. 같은 관리자의 eslint-plugin-prettier 패키지도 공격 대상이었습니다. 공격자들은 도난당한 자격증명을 사용해 이 패키지들의 여러 버전에 악의적인 코드를 포함하여 무단으로 게시하였고, 이를 통해 Windows 기계를 감염시켰습니다.

7월 18일, 개발자들은 eslint-config-prettier의 8.10.1, 9.1.1, 10.1.6, 10.1.7 버전을 설치한 후 이상한 행동을 발견하기 시작했습니다. 이 버전들은 npm 레지스트리에 게시되었지만, GitHub 저장소에는 이와 관련된 변경 사항이 없어 오픈 소스 커뮤니티에서 즉시 의심을 받았습니다. eslint-config-prettier와 eslint-plugin-prettier와 같은 라이브러리는 Prettier와 ESLint를 사용하는 개발자들이 프로젝트 전체에서 코드 포맷팅 규칙이 일관되게 스타일링되도록 하여 충돌이나 중복된 linting을 방지하게 도와줍니다.

악의적인 버전에서는 패키지가 설치되자마자 실행되도록 설정된 npm postinstall 스크립트 "install.js"가 포함되어 있습니다. 이 "install.js"에는 의심스러운 함수 logDiskSpace()가 포함되어 있으며, 이 함수는 디스크 공간 모니터링과는 관련이 없고 대신 패키지 내에 포함된 DLL "node-gyp.dll"을 rundll32 Windows 시스템 프로세스를 통해 실행하려고 합니다.

요약

- 인기있는 JavaScript 라이브러리인 eslint-config-prettier와 eslint-plugin-prettier가 피싱 공격에 당해 맬웨어 유포자로 변질되었다.

- 공격자들은 도난당한 자격증명을 사용해 패키지의 여러 버전에 악의적인 코드를 포함하여 무단으로 게시하였다.

- 이러한 공격은 오픈 소스 생태계의 취약성을 보여주며, 관리자의 보안이 얼마나 중요한지를 강조한다.

- 악의적인 버전에서는 패키지가 설치되자마자 실행되도록 설정된 npm postinstall 스크립트 "install.js"가 포함되어 있다.

- 이 스크립트에는 의심스러운 함수 logDiskSpace()가 포함되어 있으며, 이 함수는 디스크 공간 모니터링과는 관련이 없고 대신 패키지 내에 포함된 DLL "node-gyp.dll"을 실행하려고 한다.

Reference

https://www.bleepingcomputer.com/news/security/popular-npm-linter-packages-hijacked-via-phishing-to-drop-malware/

※ 이 글은 생성형 AI(ChatGPT-4)에 의해 요약되었습니다.

LIST