라이프스타일

Cloudflare: 일반 스캐너를 피해 간 악성 JavaScript 캠페인 4건, 온라인 쇼핑몰 페이지는 겉보기에 정상

Cloudflare는 2026년 9월 16일 게시한 글에서 자사 Page Shield 머신러닝 모델이 온라인 쇼핑몰의 실시간 트래픽에서 악성 캠페인 4건과 악성 코드 8개를 발견했으며, 이 중 7개는 VirusTotal에 없었다고 밝혔다. 그 주장과 일반 독자에게 갖는 의미를 정리했다.

읽는 데 약 7분

Cloudflare: 일반 스캐너를 피해 간 악성 JavaScript 캠페인 4건, 온라인 쇼핑몰 페이지는 겉보기에 정상
사진: Mokaair (Original editorial artwork)

무슨 일이 있었나

Cloudflare는 2026년 9월 16일 공식 블로그에 글을 게시했으며, 작성자는 Juan Miguel Cejuela, Zhiyuan Zheng, Denzil Correa다. Cloudflare에 따르면 자사 클라이언트 측 보안 제품(방문자의 브라우저에서 실행되는 스크립트를 살피는 제품)의 Page Shield ML이 실제 환경에서 악성 캠페인 4건, 총 8개의 악성 코드(payload, 실제로 악성 동작을 하는 코드)를 발견했다. Cloudflare는 탐지 과정이 자동화되어 있으며, 담당자는 시스템이 표시한 뒤에야 하나씩 검증한다고 설명했다.

Cloudflare는 사후에 VirusTotal과 URLScan 같은 보안 스캐닝 도구로 재확인한 결과, payload 8개 중 7개는 VirusTotal에 전혀 없었고 URLScan도 어느 것 하나 악성으로 판정하지 않은 반면, Page Shield ML은 실시간 트래픽에서 8개 모두를 잡아냈다고 밝혔다. 회사는 예로 Lnkr 계열의 한 버전이 URLScan에 약 2년 반 동안 색인되어 있었지만, 2024년 1월의 직접 스캔을 포함해 줄곧 'No classification'으로 표시됐다고 했다. VirusTotal은 현재 이를 악성으로 표시하지만, 공개 기록에는 언제 처음 그렇게 판정했는지 나와 있지 않다.

Cloudflare: 일반 스캐너를 피해 간 악성 JavaScript 캠페인 4건, 온라인 쇼핑몰 페이지는 겉보기에 정상
Mokaair 편집 검증 절차 · 사진: Mokaair (Original editorial artwork)
자세한 설명 보기

출처를 수집하고 독립적으로 검증한 뒤 Jev가 판단합니다.

악성 캠페인 4건 한눈에 보기

Cloudflare는 이 4개 캠페인 사이에 공통된 시그니처(알려진 악성 코드를 알아보는 고유한 흔적)나 은닉 기법이 없다고 밝혔다. 그중 하나는 기기, 국가, 시간, 참조 URL 또는 브라우저 상태가 조건에 맞을 때만 작동하므로, 페이지를 한 번만 점검해서는 발견하지 못할 수 있다. 여러 캠페인이 노린 제휴 수수료는 고객을 소개한 파트너에게 쇼핑몰이 판매 실적에 따라 지급하는 돈이다. 아래는 Cloudflare의 설명을 개괄적으로 정리한 것으로, 기술적 조작 세부 사항은 다루지 않는다.

출처: Cloudflare 블로그, 2026년 9월 16일
캠페인Cloudflare가 설명한 영향비고
1: 업무 시간 외 제휴 수수료 가로채기제휴 수수료 가로채기Cloudflare는 관련 버전 5개를 찾았으며 2개는 활성, 3개는 중단 상태라고 밝힘
2: 클릭 없는 제휴 수수료 탈취사용자가 클릭하지 않아도 제휴 수수료 탈취숨겨진 방식으로 제휴 요청 전송
3: 옛 검색 방해 프로그램이 쇼핑몰 백도어로 변신사용자 추적 및 임의 JavaScript를 원격 실행할 수 있는 백도어 개설조건부로 원격 코드 로딩
4: 유료 모바일 트래픽 은닉 프로그램쇼핑몰이 광고 캠페인 태그가 붙은 모바일 방문자를 보지 못하게 하고, 광고·분석 교체를 시도하며 고객 지원을 숨김IP 부분 문자열 325개 목록 포함, 모니터링·분석 도구 9개 비활성화

캠페인 1을 예로 들면, Cloudflare는 이로 인해 쇼핑몰이 고객을 데려오지 않은 계정에 부당한 수수료를 지급하거나, 합법적 제휴 파트너의 추천 실적이 엉뚱한 곳에 귀속될 수 있다고 밝혔다.

Cloudflare의 탐지 방식

  • 그래프 신경망(GNN, 코드의 구조를 연결망 형태로 분석하는 머신러닝 모델): Cloudflare는 모델이 JavaScript를 단순 텍스트가 아닌 구문 트리 그래프 구조로 분석한다고 밝혔다. Cloudflare에 따르면 같은 모델이 이전에 악성 npm 패키지와 Magecart 결제 정보 탈취 프로그램 하나를 발견한 적도 있다.
  • LLM(대형 언어 모델) 2차 의견: GNN이 악성으로 표시한 스크립트는 분석 트래픽의 0.3% 미만이며, Workers AI의 경량 대형 언어 모델이 재검토해 확인한 뒤에야 고객에게 경고가 전달된다.
  • 'teachers' 모델 그룹: 약 6개 모델 계열의 최첨단 모델이 각각 독립적으로 의심 스크립트를 분석하고, Artificial Analysis Intelligence Index 점수에 따른 가중 투표로 정상, 결제 정보 탈취, 기타 악성 소프트웨어, 채굴의 4개 라벨 확률을 산출한다.
  • 수동 검토: 악성으로 표시되었거나 3분의 2 다수에 이르지 못한 스크립트만 검토하면 된다. 피드백 학습 과정은 여전히 일부 수작업에 의존한다.
  • 향후 계획: Cloudflare는 곧 Cloudflare Sandbox를 이용해 격리된 환경에서 더 심층적인 분석을 할 예정이라고 밝혔다.

일반 독자에게 미치는 영향

온라인 쇼핑 이용자 입장에서 Cloudflare가 설명한 이런 스크립트는 주로 수수료 귀속이나 분석 도구 등 쇼핑몰 자체의 수익과 데이터를 노리며, 웹페이지는 겉보기에 여전히 정상이다. 다만 캠페인 3의 백도어는 다른 코드를 원격으로 불러올 수 있어 영향 범위가 커질 수 있음을 뜻한다. 쇼핑몰이나 웹사이트 운영자에게 이 연구가 제시하는 핵심은, 알려진 블랙리스트나 일회성 스캔만으로는 특정 조건에서만 작동하는 스크립트를 제때 발견하지 못할 수 있다는 점이다. 그러나 이는 Cloudflare가 자사 제품을 바탕으로 내놓은 관점이므로, 독자는 이를 중립적 평가가 아닌 업체 연구로 받아들여야 한다.

자주 묻는 질문

이번 사건은 무엇인가?

Cloudflare는 2026년 9월 16일 게시한 글에서 자사 Page Shield ML이 온라인 쇼핑몰 실시간 트래픽에서 악성 JavaScript 캠페인 4건, 총 8개의 악성 코드를 발견했다고 밝혔다.

일반 스캐너가 정말 모두 놓쳤나?

Cloudflare의 재확인에 따르면 8개 중 7개는 VirusTotal에 없었고, URLScan은 어느 것도 악성으로 판정하지 않았다. 이는 Cloudflare 자체의 주장이며 독립적으로 검증되지 않았다.

이 스크립트들은 주로 무엇을 하나?

Cloudflare의 설명에 따르면 제휴 수수료 가로채기나 탈취, 사용자 추적 및 원격 코드 로딩용 백도어 개설, 쇼핑몰이 일부 모바일 방문자를 보지 못하게 하고 광고·분석 도구를 교란하는 것 등이 포함된다.

왜 일회성 스캔으로는 부족한가?

Cloudflare는 캠페인 중 하나가 기기, 국가, 시간, 참조 URL 또는 브라우저 상태가 조건에 맞을 때만 작동하므로, 페이지를 한 번 점검해서는 악성 행위를 보지 못할 수 있다고 밝혔다.

이 기사는 Cloudflare 제품 구매를 권하는가?

아니다. 이 기사는 Cloudflare가 공개한 연구를 전달할 뿐이며, 어떠한 제품 구매 권유도 아니다.

이 주제의 최신 뉴스 보기

최신 여행 소식·가이드

출처

라이프스타일