섹션 1: 봇이 가상 피팅 위젯을 노리는 이유
가상 피팅 위젯은 무료로 AI 이미지를 생성할 수 있기 때문에 봇의 매력적인 공격 대상입니다. 가상 피팅 엔드포인트는 사진과 제품 이미지를 받아 AI 합성 결과를 반환합니다. 봇의 관점에서 이는 공개적으로 접근 가능한 무료 AI 이미지 생성 API와 같습니다. 자동화된 스크립트는 공격자에게는 비용 부담 없이, 판매자에게는 월간 한도 비용을 전가하며 시간당 수천 번씩 엔드포인트에 접속하여 제품 이미지, 헤드샷 또는 합성 학습 데이터를 생성할 수 있습니다.
경제적 유인은 상당합니다. 고품질 AI 이미지 생성 API는 일반적으로 이미지당 $0.05–0.20의 비용이 발생합니다. 봇 보호 기능이 없는 가상 피팅 위젯 엔드포인트는 요청 형식을 역분석하는 누구에게나 이 서비스를 무료로 제공하는 것과 다름없습니다. 대규모 봇 캠페인은 단 몇 시간 만에 판매자의 월간 피팅 쿼터를 모두 소진시켜, 실제 고객들이 남은 결제 기간 동안 원활한 서비스를 이용하지 못하게 만들 수 있습니다.
섹션 2: Photta의 5계층 방어 스택
Photta은 각각 다른 공격 벡터를 포착하는 5가지 독립적인 방어 수단을 배포합니다. 1단계 — hCaptcha: 모든 피팅 요청은 브라우저에서 생성된 유효한 hCaptcha 토큰을 포함해야 합니다. 헤드리스 봇과 자동화된 HTTP 클라이언트는 사람의 개입 없이 hCaptcha를 해결할 수 없으므로 단순 스크립트 공격이 차단됩니다. 2단계 — BotD 핑거프린팅: SDK는 FingerprintJS의 BotScore를 실행하여 쇼핑객이 사진을 제출하기 전에도 헤드리스 브라우저, 자동화 프레임워크(Puppeteer, Playwright) 및 의심스러운 브라우저 환경을 감지합니다.
3단계 — 도메인 허용 목록: 귀하의 pk_live_ 키는 '설정 → 허용된 도메인'에 등록한 도메인의 요청만 수락합니다. 다른 출처의 요청은 AI 처리가 시작되기 전에 즉시 HTTP 403을 반환합니다. 4단계 — IP 속도 제한: 단일 IP 주소에서 분당 10회 이상의 피팅 요청이 발생하면 자동 스로틀링이 트리거되며, 분당 30회 이상인 경우 일시적으로 차단됩니다. 5단계 — 월간 한도: 요금제에 따른 월간 피팅 한도(티어에 따라 500/2,000/10,000회)는 서버 측에서 엄격하게 제한됩니다. 한도가 소진되면 해당 결제 주기의 나머지 기간 동안 모든 피팅이 중단되어 통제 불능의 비용 발생 시나리오를 방지합니다.
섹션 3: 대시보드에서 봇 시도 모니터링
business.photta.app에 로그인하여 '보안' 섹션으로 이동하세요. 보안 패널에는 실시간으로 업데이트되는 세 가지 차트가 표시됩니다: 차단된 시도(시간당 총계), 차단 사유 분석(hCaptcha 실패 vs BotD 감지 vs 도메인 불일치 vs 속도 제한 트리거), 상위 차단 IP(지난 24시간 동안 가장 많은 차단 요청을 생성한 IP 주소). 정상적인 상점은 보통 운영 시간 동안 차단된 시도가 거의 제로에 가깝게 나타납니다.
보안 패널에는 '이상 징후 알림' 섹션도 포함되어 있습니다. Photta의 분석 계층은 7일 기준선에서 표준 편차의 3배 이상 벗어나는 가상 피팅 트래픽 급증이나 차단 시도를 감시합니다. 이상 징후가 감지되면 15분 이내에 이메일 알림을 받게 되며 대시보드에도 알림이 표시됩니다. '설정 → 알림 → 보안 알림'에서 알림 임계값을 구성할 수 있습니다.
섹션 4: 의심스러운 활동에 대응하기
보안 패널에서 차단된 요청의 급증, 특정 IP 범위의 집중적인 시도, 또는 월간 쿼터의 급격한 감소와 같은 비정상적인 패턴이 보이면 순서대로 다음 조치를 취하십시오. 먼저, '상위 차단 IP' 목록을 확인하세요. 하나 또는 소수의 IP가 대부분의 차단 시도를 차지하는 경우, 각 IP 옆의 'IP 차단'을 클릭하여 Photta 계층에서 영구적으로 금지하십시오. 차단은 즉시 적용되며 수동으로 제거할 때까지 유지됩니다.
둘째, 공격이 여러 IP를 사용하는 경우(분산 봇넷), 대시보드 채팅을 통해 판매자 ID 및 공격 타임스탬프 범위와 함께 Photta 지원팀에 문의하세요. Photta의 보안 팀은 몇 시간 내에 공격 서브넷에 대해 CIDR 레벨 차단을 적용할 수 있습니다. 셋째, 봇 활동으로 인해 월간 쿼터가 크게 소진된 경우 지원 티켓을 생성하세요. Photta는 문서화된 봇 공격에 대해 1회성 쿼터 복구를 제공합니다. 증거로 보안 패널의 이상 징후 알림 스크린샷을 첨부하십시오.
섹션 5: 추가 커스텀 CAPTCHA가 필요한 경우
Photta의 내장 hCaptcha는 보이지 않게 실행되므로 대부분의 실제 고객은 CAPTCHA 챌린지를 전혀 보지 못합니다. 매우 드문 경우(가치가 높은 상점, 공개적으로 인덱싱된 위젯 엔드포인트), 정교한 공격자가 사람을 이용한 CAPTCHA 해결 팜을 사용하는 경우 내장 방어 체계만으로는 충분하지 않을 수 있습니다. 이 시나리오에서는 photta.open()을 호출하기 전에 자체 제품 페이지 수준에서 두 번째 CAPTCHA 계층을 추가하세요. 서버에서 커스텀 CAPTCHA를 검증한 다음, 서명된 검증 토큰을 Photta SDK에 photta.open({ verificationToken: 'your_token' })으로 전달하여 검증된 세션만 가상 피팅을 시작할 수 있도록 하십시오.
커스텀 CAPTCHA는 정교한 공격이 반복되는 상점을 위한 최후의 수단입니다. 대다수의 판매자에게는 Photta의 5계층 스택이 고객에게 가시적인 불편함을 주지 않으면서 충분한 보호를 제공합니다. 커스텀 계층 추가 여부를 검토 중이라면 먼저 보안 패널의 '차단 사유 분석'을 확인하세요. hCaptcha 실패가 전체 차단 시도의 1% 미만이라면 스택이 잘 작동하고 있는 것이며, 추가 계층은 의미 있는 보안 이득 없이 고객의 불편함만 가중시킬 뿐입니다.
