Discourse 업데이트 - Microsoft Defender가 Wacatac 악성코드 탐지 보고

안녕하세요,

가상 머신에 자체 호스팅(self-hosted)된 Discourse 인스턴스를 운영 중입니다. 최근 Discourse 업데이트 v3.4.0.beta3 +431를 적용한 후, Microsoft Defender에서 Wacatac 멀웨어에 대한 경고가 수신되었습니다:

해당 파일을 삭제하고 가상 머신을 재시작했으며, 현재 다음 스캔이 실행되기를 기다리고 있습니다. 지난 2024년 12월에도 최신 Discourse 업데이트를 가져오던 중 동일한 상황이 발생했습니다.

Wacatac가 Discourse 업데이트를 통해 유입되는 것일 수도 있고, 오탐(false positive)일 가능성도 있습니다…

이 문제를 겪고 계신 다른 분이 계신가요?

감지된 파일의 전체 경로를 알려주실 수 있을까요?

var/lib/docker/overlay2/d5d34d6148be507180106dc3b39b8b3d266b5e221fd5df48ce023df57186d4ef/diff/home/discourse/.local/share/pnpm/store/v3/files

(항상 여기서 찾습니다)

.../pnpm/store/v3/files는 디렉터리입니다. 특정 파일의 이름도 알고 계신가요?

/var/lib/docker/overlay2/93cd7bbb9de06047b645e0b7e3fd788546257d0b2d980e21df3cb0c5c802e80f/diff/home/discourse/.local/share/pnpm/store/v3/files/1e/a9a94e4c7f5e4b8e407d5bbbec51f6167dd6470f9e9c6b41b3f99facbe9749c0c1a60f6cac13a74d7e09482601470bea436265eccd6091e0767ff9b05e66eb-exec

그리고 2024년 12월 것의 경우:
/var/lib/docker/overlay2/d5d34d6148be507180106dc3b39b8b3d266b5e221fd5df48ce023df57186d4ef/diff/home/discourse/.local/share/pnpm/store/v3/files/23/f5520e308f56ab79324ef0ea1249acf7aa09f192d1b5e5599b3b284e46f1e6c0d6d58707b63a9c965399930b6148639ef2bd6d1d4d55343448ba42b4535440-exec

추가 정보를 제공해 주셔서 감사합니다!

@mwan 님이 이 문제를 확인하는 데 도움을 주셨습니다. 공유하신 첫 번째 파일은 lefthook 바이너리의 캐시입니다:

$ md5sum /home/discourse/.local/share/pnpm/store/v3/files/1e/a9a94e4c7f5e4b8e407d5bbbec51f6167dd6470f9e9c6b41b3f99facbe9749c0c1a60f6cac13a74d7e09482601470bea436265eccd6091e0767ff9b05e66eb-exec
8bfaa34901d5a7b34090b3a862793f90  /home/discourse/.local/share/pnpm/store/v3/files/1e/a9a94e4c7f5e4b8e407d5bbbec51f6167dd6470f9e9c6b41b3f99facbe9749c0c1a60f6cac13a74d7e09482601470bea436265eccd6091e0767ff9b05e66eb-exec
$ find /var/www/discourse/node_modules/ -type f -exec md5sum {} + | grep '^8bfaa34901d5a7b34090b3a862793f90'
8bfaa34901d5a7b34090b3a862793f90  node_modules/.pnpm/lefthook-linux-x64@1.10.8/node_modules/lefthook-linux-x64/bin/lefthook

두 번째는 esbuild입니다:

$ md5sum /home/discourse/.local/share/pnpm/store/v3/files/23/f5520e308f56ab79324ef0ea1249acf7aa09f192d1b5e5599b3b284e46f1e6c0d6d58707b63a9c965399930b6148639ef2bd6d1d4d55343448ba42b4535440-exec
25b47c7a561185d07c8c3d98ade527af  /home/discourse/.local/share/pnpm/store/v3/files/23/f5520e308f56ab79324ef0ea1249acf7aa09f192d1b5e5599b3b284e46f1e6c0d6d58707b63a9c965399930b6148639ef2bd6d1d4d55343448ba42b4535440-exec
$ find node_modules/ -type f -exec md5sum {} + | grep '^25b47c7a561185d07c8c3d98ade527af'
25b47c7a561185d07c8c3d98ade527af  node_modules/.pnpm/@esbuild+linux-x64@0.24.2/node_modules/@esbuild/linux-x64/bin/esbuild
25b47c7a561185d07c8c3d98ade527af  node_modules/.pnpm/esbuild@0.24.2/node_modules/esbuild/bin/esbuild

해당 md5 해시는 npm에 게시된 버전과 일치하므로, 레지스트리와 설치 환경 사이에 변조되지 않았다고 자신 있게 말할 수 있습니다:

$ curl -s https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz | tar -Oxzf - package/bin/esbuild | md5sum
25b47c7a561185d07c8c3d98ade527af  -
$ curl -s https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.10.8.tgz | tar -Oxzf - package/bin/lefthook | md5sum
8bfaa34901d5a7b34090b3a862793f90  -

따라서 이는 Microsoft Defender의 오탐으로 보입니다. Discourse 설치 환경에서 esbuild를 제거하면 문제가 발생하므로, 제거를 권장하지 않습니다.

온라인에서 검색해 보면, Microsoft Defender가 npm 패키지에 대해 오탐을 내는 경우가 꽤 흔한 것으로 보입니다. 과거에 esbuild에 대해 오탐이 발생한 예시가 있습니다.

정말 감사합니다, @david님과 @mwaniki님! :clinking_glasses:

이제 Microsoft Defender 지원팀에 문의를 해보겠습니다. 피드백을 받게 되면 공유하겠습니다.

약속대로, Microsoft 지원팀에서 받은 현재 피드백은 다음과 같습니다:

  • Microsoft Defender for Cloud에서 파일을 깨끗한 상태로 표시하여 경고를 해결 → 이 작업은 수행했지만, 매번 다른 파일이 오인(잘못된 보고)되므로 문제 해결에 기여한다고 보지는 않습니다.
  • Microsoft Defender for Cloud에서 해당 경고를 완전히 억제 → 향후 발생할 수 있는 실제 위협을 놓치지 않기 위해 이 작업은 수행하지 않았습니다.
  • Defender 스캔 알고리즘 및/또는 내부 데이터베이스 개선에 대한 아이디어 제출 → 이 작업은 수행했으며, 피드백을 기다리고 있습니다: Community