Snyk 보안 연구원, cursor.com을 겨냥한 악성 NPM 패키지 배포

17 hours ago 2

  • Snyk 보안 연구원의 악성 NPM 패키지 배포

    • 매일 아침, 필자는 전날 밤에 탐지된 악성 패키지를 확인함. 이는 마치 어부가 그물에 잡힌 물고기를 확인하는 것과 같음.
    • 최근 Snyk의 한 사용자가 Cursor.com을 대상으로 하는 여러 패키지를 NPM에 배포한 것을 발견함.
    • 이 패키지들은 "cursor-retreival", "cursor-always-local", "cursor-shadow-workspace"와 같은 이름을 가짐.
    • 이러한 패키지를 설치하면 시스템 데이터를 수집하여 공격자가 제어하는 웹 서비스로 전송함.
  • 패키지의 작동 방식

    • 패키지는 env 명령어의 출력을 수집하여 AWS 키, NPM 토큰, GitHub 자격 증명 등 민감한 정보를 노출시킴.
    • 수집된 데이터는 공격자가 소유한 웹사이트로 전송됨.
  • 의도된 공격

    • 이러한 패키지는 특정 회사에 대한 의존성 혼동 공격을 시도하는 것으로 보임.
    • Cursor.com이 버그 바운티 프로그램을 운영하는지는 알 수 없으나, Cursor 직원이 실수로 이러한 공개 패키지를 설치하도록 유도하는 것으로 추측됨.
  • 악성 패키지 식별

    • OpenSSF 패키지 분석 스캐너가 이 패키지를 악성으로 식별함.
    • OSV는 MAL-2025-27, MAL-2025-28, MAL-2025-29라는 3개의 악성 소프트웨어 권고를 생성함.
  • 패키지 배포자

    • NPM 패키지 메타데이터에 따르면, Snyk Security Labs 팀의 snyk.io 이메일 주소를 사용하는 사용자가 패키지를 게시함.
    • 메타데이터의 작성자 필드에 Snyk의 직원이 언급되어 있으며, 이는 위조될 수 있지만 게시자는 인증된 Snyk 이메일을 사용함.
  • 대응 방법

    • NPM에 경고했으나 아직 악성으로 표시되지 않았으며, 대부분의 소프트웨어 공급망 보안 도구는 패키지가 악성임을 알기 전까지 보호할 수 없음.
    • NPM 패키지를 무작정 설치하지 않는 것이 좋으며, 패키지의 정당성을 판단할 수 있는 신호를 알아두는 것이 중요함.
    • 모든 패키지는 package.json과 index.js(또는 main.js) 두 파일만 포함하고 있음. 이는 패키지의 정당성을 판단하는 여러 신호 중 하나임.
    • NPM이 이러한 패키지를 곧 제거할 것으로 기대함.

Read Entire Article