취약점에 보고된 Npm 패키지 이름과 버전

안녕하세요,

JFrog의 XRay 스캐너에서 Discourse 버전 2.0.20240904-0335의 기본 이미지에 악성 코드가 포함된 세 가지 패키지가 보고되었습니다.

  • dialog-holder:1.0.0
  • float-kit:1.0.0
  • custom-proxy:1.0.0

그 후 제가 조사를 조금 해보니, https://vulert.com 에서도 동일한 이름과 버전의 세 가지 패키지가 보고된 것을 확인했습니다.

(게시글에 2개 이상의 링크를 게시할 수 없어 이 부분은 댓글로 추가하겠습니다)

이전에 동일한 문제를 겪어보신 적 있으신가요? npm.js에서 보고된 패키지를 찾을 수 없어, 이러한 발견이 Discourse에서 나온 것인지 다른 패키지에서 나온 것인지 궁금합니다.

감사합니다 :folded_hands:

dialog-holder:1.0.0: dialog-holder(npm)에 악성 코드 포함 (vulert.com) 및 GitHub의 OSV 데이터와 연결됨

float-kit:1.0.0: float-kit (npm)에 악성 코드 존재 (vulert.com) 및 GitHub의 OSV 데이터와 연결됨

custom-proxy:1.0.0: custom-proxy(npm)에 악성 코드 존재 (vulert.com) 및 GitHub의 OSV 데이터와 연결됨

JFrog에서도 비슷한 사례를 확인한 바 있습니다. 이는 범위가 지정되지 않은 패키지에 대한 모호한 이름으로 보이며, 실제 문제가 아닌 것으로 보입니다.

Discourse에는 float-kit이라는 이름의 패키지가 저장소에 존재합니다만, 이는 npmjs의 float-kit과는 아무런 관련이 없습니다. 나머지도 기본적으로 동일한 상황입니다.

이상적으로는 이러한 로컬 패키지들도 스코프(scope)가 지정되어야 하지만, 워크스페이스(workspace)에서 참조되고 있기 때문에 1.0.0 버전은 해당 패키지 자체의 저장소에서 가져오는 것입니다.

제가 확인한 바로는 프로비넌스(provenance) 푸시가 없으며, JFrog은 많은 경우 이름과 버전만 확인하기 때문에 해당 컨트롤의 오탐(false positive) 처리 프로세스에 포함되어야 합니다.