최근 Node Package Manager(npm)에 AsyncAPI 패키지의 악성 버전 5개가 공급망 공격을 통해 유포되었다. 공격자는 잘못 구성된 GitHub Actions 워크플로우를 악용하여 @asyncapi 네임스페이스에 트로이 목마가 포함된 패키지를 배포했으며, 이 패키지들은 주간 225만 건 이상의 다운로드 수를 기록했다. 7월 14일, 공격자는 두 개의 AsyncAPI GitHub 저장소를 침해해 프로젝트 파일에 악성코드를 삽입한 것으로 확인되었다.
공격자는 실제 릴리즈 워크플로우를 이용해 정상적인 SLSA 출처 증명을 갖춘 패키지를 배포함으로써, 악성 패키지가 공식적으로 배포된 것처럼 위장했다. 악성 패키지는 감염된 파일이 임포트될 때 다운로더를 실행하는 난독화된 JavaScript 코드를 포함하고 있으며, 이후 IPFS 네트워크에서 두 번째 단계 스크립트를 받아 숨겨진 프로세스로 실행한다. 세 번째 단계 페이로드는 92,000줄에 달하는 모듈형 악성코드 프레임워크로, 시스템에 지속성을 확보하고 다양한 채널을 통해 C2 서버와 통신한다.
이 악성코드는 인증 정보, 토큰, 브라우저 데이터, CI/CD 시스템 및 AI 개발 도구의 민감 정보, 암호화폐 지갑, 데이터베이스 등 다양한 비밀 정보를 탈취하는 데 목적이 있다. 다만, 일부 보안 업체에 따르면 실제로 데이터 수집 기능이 정상적으로 동작하지는 않았으나, 수동으로도 정보 탈취가 가능하다. 현재 모든 악성 패키지는 npm에서 제거되었으나, 노출 기간(7월 14일 07:10~11:18 UTC) 동안 설치된 패키지와 lock 파일에는 여전히 위험이 남아 있으므로, 개발자들은 안전한 파일로 고정하고, lock 파일을 재생성하며, 악성 프로세스 종료 및 자격 증명 교체 등의 조치를 취해야 한다.
※ 이 글은 생성형 AI(gpt4.1)에 의해 요약되었습니다.