팔로알토네트웍스 위협 연구 조직 Unit 42는 10월 28일 연말 쇼핑 대목을 앞두고 리테일 위협 분석을 냈습니다. 결제 페이지에 카드 정보를 빼돌리는 스크립트를 심는 스키밍, 유출된 비밀번호를 대량으로 대입해 회원 계정을 빼앗는 공격, 직원을 속여 기프트카드를 찍어 내는 사기가 대목에 몰린다는 내용입니다. 9월에는 AI 에이전트로 쇼핑몰을 털어 카드 정보 60만 건 이상을 훔친 사례도 공개됐습니다.

이 글은 쇼핑몰 운영자 눈높이에서 그 분석을 다섯 가지 위험으로 나눕니다. 결제 페이지 스키밍, 계정 탈취, 봇을 이용한 쿠폰·포인트 악용, 사칭 사이트와 피싱, 관리자 페이지 노출입니다. 위험마다 우리 몰이 해당하는지 보는 법과, 행사 시작 전 남은 기간에 맞춘 대응 순서를 정리했습니다.

한눈에 보기

항목 내용
근거 Unit 42 'Unwrapping Retail Peak Season Cyber Threats'(2026년 10월 28일)
왜 지금인가 주문·트래픽이 몰리고 운영 인력은 바쁜 시기. Unit 42가 추적하는 기프트카드 사기 조직은 인력이 줄고 기프트카드 사용이 늘어나는 휴일에 맞춰 활동을 늘린다
시장 규모 Salesforce 집계 2025년 11~12월 전 세계 온라인 매출 1조 2,900억 달러
올해 블랙프라이데이 2026년 11월 27일(금), 사이버먼데이 11월 30일(월). 미국 추수감사절(11월 넷째 목요일) 다음 날 기준
결제 스키밍 2024년 CosmicSting(CVE-2024-34102)으로 Adobe Commerce·Magento 쇼핑몰 4,275곳 감염, 이 플랫폼 쇼핑몰의 약 5%(Sansec, 2024년 10월 1일)
AI 자동화 공격 오픈소스 AI 에이전트로 최소 27개 회사 침해, 두 회사에서 유효한 카드 정보 60만 건 이상 탈취. 대상 한 곳당 비용 약 25달러(Gambit Security, 2026년 9월 22일)
계정 탈취 유출 계정 목록으로 앱·웹 로그인 API를 자동 공격해 멤버십 계정 수천 개 탈취, 기프트카드 잔액·포인트 인출(Unit 42가 든 2022년 12월 사례)
기프트카드 사기 Jingle Thief(CL-CRI-1032). 회사 로고를 입힌 가짜 Microsoft 365 로그인 화면으로 직원 계정을 털고, 한 기업에서 약 10개월 머물며 60개 넘는 계정을 장악(Unit 42, 2025년 10월 22일)

무엇이 일어나고 있나: Unit 42 분석 요약

Unit 42는 리테일 위협을 두 갈래로 나눴습니다. 회사 시스템을 노리는 공격(랜섬웨어, 데이터 탈취 후 협박, 디도스, 결제 스키밍)과 고객 계정을 노리는 공격(계정 탈취, 기프트카드 사기)입니다. 쇼핑몰 운영자에게 직접 와닿는 숫자는 다음과 같습니다.

  • 2026년 9월 30일 기준 랜섬웨어 조직이 올해 피해자로 공개한 리테일 기업은 565곳, 피해 기업 매출 중앙값은 약 2,200만 달러입니다. 대기업만의 일이 아니라는 뜻입니다.
  • 2023년 12월 ALPHV 랜섬웨어 공격 사례에서는 고객 기록 수백만 건이 빠져나갔고, 주문 처리 지연과 온라인 주문 취소, 재고 보충 지연이 이어졌습니다.
  • 2025년 12월에는 친러시아 해커 집단 Noname057(16)이 DDoSia 봇넷으로 대상 기업의 웹 포털과 API에 트래픽을 쏟아부어 중앙 시스템을 멈추고 배송 조회와 판매자 결제 서비스를 마비시켰습니다.

대목이 위험한 이유는 단순합니다. 하루 매출이 평소의 몇 배인 날에 결제가 멈추거나 카드 정보가 새면 피해도 몇 배가 됩니다. 공격자도 이 계산을 합니다.

결제 페이지 스키밍: 패치만으로 끝나지 않았던 CosmicSting

스키밍은 결제 화면에 몰래 스크립트를 심어 고객이 입력하는 카드 번호를 공격자 서버로 함께 보내는 수법입니다. 화면은 정상으로 보이고 결제도 정상 처리되니 운영자도 고객도 한동안 모릅니다.

보안 기업 Sansec에 따르면 Adobe Commerce·Magento의 CVE-2024-34102(CosmicSting)는 2024년 6월 11일 공개됐고, 일주일 뒤인 6월 18일에도 쇼핑몰의 75%가 아직 패치 전이었습니다. 결과적으로 쇼핑몰 4,275곳이 감염됐고 서로 다른 범죄 조직 7곳이 같은 취약점을 노렸습니다. 핵심 교훈은 패치 뒤에도 남는 위험입니다. 공격자가 이미 훔친 암호화 키는 패치로 무효가 되지 않아, 키를 바꾸지 않은 쇼핑몰은 다시 관리자 권한 토큰을 내줄 수 있었습니다.

AI 에이전트가 맞춤 개발 쇼핑몰을 고른 이유

Gambit Security가 9월 22일 공개한 사례는 운영자에게 더 직접적입니다. 공격자는 웹사이트 트래픽 순위 서비스에서 쇼핑 분야를 고른 뒤, 유명 쇼핑몰 플랫폼을 쓰는 곳을 걸러 내고 '직접 개발한 쇼핑몰'만 남겼습니다. 9월 10~15일 엿새 동안에만 공격 프로젝트 105건을 돌렸고, 최소 27개 회사가 침해됐습니다.

보고서에 나온 침투 흐름 하나는 이렇습니다. 로그인 화면 이메일 입력값의 SQL 인젝션(입력값으로 데이터베이스 명령을 조작하는 공격)으로 데이터베이스에 저장된 일회용 인증번호(OTP)를 평문으로 읽어 2단계 인증을 건너뛰고, 관리자 화면에 들어가 파일 업로드로 서버를 장악했습니다. 스키밍 코드는 정상 자바스크립트 파일 뒤에 덧붙이는 방식이 가장 흔했고, 결제 페이지의 외부 스크립트 태그, 기존 Google 태그 코드 블록 사이, 클라우드 저장소 파일, 데이터베이스 콘텐츠, 서버 측 페이지 캐시에도 숨겼습니다. 지워도 다시 살아나는 예약 작업(cron)까지 썼습니다.

국내 쇼핑몰은 카드 입력을 결제대행사(PG) 창에서 받는 경우가 많습니다. 그래도 안심하기 이르다고 봅니다. 결제 버튼을 누르기 전 단계에 가짜 카드 입력 창을 띄우거나, 회원 정보·배송지·로그인 정보를 빼가는 스크립트는 PG 창과 무관하게 동작할 수 있기 때문입니다.

계정 탈취와 포인트·기프트카드 인출

크리덴셜 스터핑은 다른 곳에서 유출된 아이디·비밀번호 목록을 우리 몰 로그인에 자동으로 대입하는 공격입니다. 고객이 같은 로그인 정보를 여러 곳에 쓰고 추가 인증 같은 방어가 부족하면 계정 탈취로 이어질 수 있습니다. Unit 42가 든 2022년 12월 사례에서 공격자는 모바일 앱과 웹의 로그인 API를 자동 스크립트로 두드려 멤버십 계정 수천 개를 장악했고, 저장된 기프트카드 잔액과 모바일 결제 금액, 적립 포인트를 빼낸 뒤 계정 접근 권한을 다크웹에서 팔았습니다.

웹 로그인 화면에는 보안문자(CAPTCHA)와 시도 제한을 걸어 두고, 앱이 쓰는 로그인 API에는 같은 제한이 빠져 있는 경우가 흔합니다. 공격자는 그 틈을 씁니다.

봇이 노리는 쿠폰·적립금·한정 수량

Unit 42 권고에는 웹사이트 요청 폭주에 대비한 동적 요청 제한과, 정상 고객과 크리덴셜 스터핑을 구분하는 봇 대응이 들어 있습니다. 쇼핑몰 현장에서는 같은 자동화가 신규 가입 쿠폰을 여러 계정으로 반복 받기, 추천인 적립금 부풀리기, 한정 수량 상품 쓸어 가기로 이어집니다. 이 부분은 Unit 42가 사례로 든 내용이 아니라, 같은 자동화 도구가 겨누는 운영 지점을 정리한 것입니다. 금전 피해보다 '이벤트 예산이 엉뚱한 곳에 소진되는 것'이 먼저 보이는 경우가 많습니다.

사칭 사이트와 직원 피싱

Jingle Thief 조직은 고객이 아니라 직원을 먼저 노립니다. 대상 회사의 로고와 화면을 그대로 입힌 가짜 Microsoft 365 로그인 페이지로 이메일·문자 피싱을 보내 계정을 얻고, 사내 SharePoint와 OneDrive에서 기프트카드 발급 절차, VPN 설정 안내, 업무 요청 시스템 문서를 찾아봤습니다. 메일 자동 전달 규칙을 만들고 피싱 흔적을 휴지통으로 옮겼으며, Entra ID에 자기 인증 앱을 등록해 2단계 인증을 계속 통과했습니다. 그렇게 약 10개월을 머물렀습니다.

고객을 노리는 사칭 쇼핑몰과 가짜 배송 문자도 같은 원리입니다. 우리 몰 이름과 비슷한 도메인, 행사 이름을 넣은 도메인이 대목 직전에 새로 생기면 고객 피해와 브랜드 신뢰 손상이 함께 옵니다.

관리자 페이지 노출

앞의 Gambit 사례에서 공격자는 관리자 화면으로 가는 길을 여러 갈래로 찾았습니다. SQL 인젝션으로 OTP를 읽어 2단계 인증을 건너뛰었고, 적어도 한 곳에서는 작동하는 관리자 비밀번호를 손에 넣었습니다. 관리자 화면이 인터넷 어디서나 열리면 이런 시도를 막을 기회가 한 겹 줄어듭니다.

우리 회사에 해당하는지 확인하는 법

위험 확인할 것 해당 신호
결제 스키밍 주문서·결제 단계 페이지가 불러오는 외부 스크립트 목록, Google Tag Manager 컨테이너 변경 이력 누가 넣었는지 모르는 스크립트, 최근 바뀐 js 파일, 처음 보는 도메인으로 나가는 요청
쇼핑몰 플랫폼 패치 Adobe Commerce·Magento·워드프레스 계열 플러그인 버전, 직접 개발한 몰의 마지막 보안 점검 시점 1년 이상 업데이트 없음, 개발사 계약 종료 후 손대지 않음
계정 탈취 웹과 앱 로그인 API 양쪽의 시도 제한, 로그인 실패율 추이, 포인트 사용 알림 특정 시간대 로그인 실패 급증, 고객의 '포인트가 사라졌다' 문의
쿠폰·적립금 악용 가입 쿠폰 발급 조건, 기기·결제수단·배송지 단위 중복 제한 여부 같은 배송지·같은 결제수단으로 신규 계정 다수, 이벤트 예산 조기 소진
사칭·피싱 우리 몰 이름과 비슷한 도메인, 직원 메일의 자동 전달 규칙, 인증 앱 등록 이력 고객의 '이상한 사이트에서 결제했다' 문의, 직원 계정의 낯선 인증 기기
관리자 노출 관리자 주소가 외부에서 바로 열리는지, 접속 IP 제한, 2단계 인증, 퇴사자·외주 계정 /admin 같은 주소가 로그인 화면을 보여 줌, 공용 계정 사용
트래픽 폭주 행사 첫 시간 예상 트래픽, CDN·WAF(웹 방화벽) 사용 여부, 장애 시 연락 체계 작년 행사 때 접속 지연·결제 오류 경험

표의 한 줄이라도 '모르겠다'면 그 항목이 우선 점검 대상입니다. 직접 개발했거나 외주로 만든 몰이라면 Gambit 사례의 공격자가 일부러 고른 유형이라는 점도 기억해 두십시오.

대응 순서

오늘

  1. 결제·주문서 페이지를 브라우저 개발자 도구로 열어 불러오는 스크립트와 외부 도메인 목록을 저장한다. 이 목록이 이후 변경을 알아채는 기준선이 된다.
  2. 관리자 화면 접속을 회사 IP나 VPN으로 제한하고, 관리자 계정 전부에 2단계 인증을 켠다. 퇴사자·외주 개발사 계정은 오늘 정리한다.
  3. 쇼핑몰 플랫폼과 플러그인의 보안 업데이트를 확인한다. 과거 취약 버전을 쓴 적이 있다면 패치에 더해 암호화 키와 관리자 비밀번호, API 연동 토큰을 바꾼다(CosmicSting의 교훈).
  4. 고객센터에 '포인트·기프트카드 잔액 이상', '비슷한 이름의 사이트' 문의를 따로 분류해 보고하라고 알린다.

이번 주

  1. 웹과 앱 로그인 API 양쪽에 같은 시도 제한을 건다. IP 단위만이 아니라 계정 단위 실패 횟수도 본다. 새 기기 로그인과 포인트 사용 시 고객에게 알림을 보낸다.
  2. 가입 쿠폰·추천 적립금에 중복 제한(결제수단, 배송지, 휴대폰 인증 단위)과 한 사람당 발급 상한을 둔다. 포인트를 기프트카드나 현금성 상품으로 바꾸는 기능에는 추가 인증을 건다.
  3. Google Tag Manager와 결제 페이지 파일의 변경 알림을 켠다. 태그 게시 권한을 가진 계정 수를 줄인다.
  4. 직원 메일 계정의 자동 전달 규칙과 등록된 인증 앱을 점검한다. 기프트카드·쿠폰 발급 권한을 가진 직원 계정은 따로 목록을 만든다.
  5. 우리 몰 이름과 행사 이름을 넣은 유사 도메인을 찾아 기록하고, 발견 시 신고 절차(호스팅사, 도메인 등록 기관, 고객 공지)를 정해 둔다.

이번 달

  1. 행사 기간 비상 연락표를 만든다. 호스팅·PG·CDN·개발사 담당자 연락처와, 결제 오류나 스키밍 의심 시 누가 판매를 멈출지 결정권자를 적는다.
  2. 직접 개발한 몰이라면 로그인·주문·쿠폰·관리자 기능을 대상으로 모의해킹(허락받은 전문가가 공격자처럼 점검하는 것)을 받는다. SQL 인젝션, OTP 처리, 파일 업로드가 Gambit 사례의 실제 경로였다.
  3. 행사가 끝난 뒤 로그인 실패, 쿠폰 발급, 포인트 사용, 결제 페이지 변경 기록을 한 번 더 훑고 결과를 남긴다. 다음 행사의 기준선이 된다.

자가점검

1. 결제 페이지가 불러오는 스크립트를 누가 넣었는지 전부 설명할 수 있는가

설명하지 못하는 스크립트가 하나라도 있으면 출처를 확인하기 전까지 의심 대상입니다.

2. 쇼핑몰 플랫폼을 패치한 뒤 키와 비밀번호도 바꿨는가

CosmicSting에서는 패치만 하고 암호화 키를 바꾸지 않은 쇼핑몰이 다시 뚫렸습니다.

3. 앱 로그인 API에도 웹과 같은 시도 제한이 있는가

웹 화면만 막고 API를 열어 두면 크리덴셜 스터핑은 API로 들어옵니다.

4. 포인트·기프트카드 잔액이 줄면 고객이 바로 알 수 있는가

알림이 있으면 고객 신고가 빨라지고 피해 범위도 줄어듭니다.

5. 가입 쿠폰을 한 사람이 몇 번까지 받을 수 있는지 숫자로 답할 수 있는가

답이 '계정 수만큼'이라면 봇에게도 같은 답입니다.

6. 관리자 화면이 회사 밖 아무 곳에서나 열리는가

열린다면 IP 제한과 2단계 인증이 오늘 할 일입니다.

7. 직원 메일에 낯선 자동 전달 규칙이나 인증 앱이 등록돼 있지 않은가

Jingle Thief는 이 두 가지로 10개월을 버텼습니다.

8. 행사 중 결제를 멈출지 결정할 사람이 정해져 있는가

정해 두지 않으면 스키밍 의심 신고가 와도 판단이 늦어집니다.

대목 전에 외부 노출과 결제 흐름을 함께 점검하기

보안 전문 기업 SENTRIX는 레드팀을 운영하며 보안 실무 10년의 경험으로 쇼핑몰의 외부 노출과 주요 흐름을 점검합니다. 외부 노출·위험 관리(ASM)는 인터넷에 공개된 우리 회사 웹사이트·서버와 사칭 사이트를 찾아 담당자·조치·재확인까지 관리합니다. AI 모의해킹·AI 심화 취약점 진단은 AI 자동화와 전문가 검증으로 로그인·쿠폰·주문·관리자 기능의 권한 문제, 비즈니스 로직 결함, 연쇄 공격 경로를 확인하며, 기업은 웹 서비스 1개에 대해 AI 웹진단 1회를 무료로 받을 수 있습니다. 행사 시작 전에 점검 범위와 일정을 맞추려면 진단 문의하기로 연락 주십시오. 무료 진단 조건은 AI 모의해킹·AI 심화 취약점 진단 페이지에 있습니다.

계정 탈취 대응은 크리덴셜 스터핑과 계정 탈취 막는 법에, 잊힌 서버와 하위 도메인을 찾는 법은 공격표면 관리(ASM) 자가점검 5단계에, 사고가 났을 때의 첫 조치는 침해사고 대응 실무에 정리해 두었습니다.

참고 자료

행사 전에 쇼핑몰 보안 점검 받기

보안 실무 10년 전문가가 기업 환경에 맞는 방안을 제시합니다.