본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 06. 16:08

직접 운영하는 서버에 들어오는 AI 봇을 7일간 로그 분석해 보았다

요약

직접 운영하는 서버의 7일간 로그를 분석하여 GPTBot, ClaudeBot 등 다양한 AI 크롤러의 거동을 비교했습니다. GPTBot은 특정 시점에 집중적으로 데이터를 긁어가는 버스트형 패턴을, ClaudeBot은 robots.txt를 준수하며 최신 데이터만 가져가는 점진형 패턴을 보였습니다.

핵심 포인트

  • GPTBot은 특정일에 요청이 집중되는 버스트형 스크레이핑 패턴을 보임
  • ClaudeBot은 robots.txt를 준수하며 차분 업데이트 방식으로 동작함
  • AI 크롤러의 총합이 부정 로그인 시도만큼 높은 비중을 차지함
  • 각 AI 봇마다 데이터 수집 설계 방식이 확연히 다름

클라우드 서버에서 여러 Web 서비스(Web Service)를 운영하다 보면, 로그에 낯선 User-Agent가 늘어나기 시작한다. GPTBot, ClaudeBot, Bytespider…… AI 계열 크롤러(Crawler)다. 기왕 하는 김에 1주일 분량의 로그를 분석하여 각 봇의 거동을 비교해 보았다.

개인이 운영 중인 아래와 같은 서비스군(WordPress, Django, Flask, GitLab 등)의 액세스 로그 7일분(2026/05/30~06/06)을 대상으로 분석했다. 총 17,630건의 레코드를 threat_name으로 라벨링(Labeling)해 둔 자체 허니팟(Honeypot) 계열 모니터링 시스템의 익스포트(Export) 데이터를 사용.

대상 호스트의 종류는 다음과 같다 (도메인명은 숨김):

WordPress 사이트 (공개·Basic 인증 있음 각 1개) -
Django 사이트 (공개·2개 호스트) -
Flask 사이트 (공개) -
GitLab 인스턴스 (공개) -
Mastodon 인스턴스 (공개) -
기타 (내용 없음·Basic 인증 있음 여러 개)

먼저 로그 전체의 threat_name별 건수.

카테고리건수
WORDPRESS_SCAN (부정 로그인 시도)6,288
GPTBot4,127
ENV_SCAN (.env 탈취 목적)1,970
AI_BOT (각종)1,095
ZGRAB_SCAN630
Bytespider466
ClaudeBot446
DOCKER_SCAN388
DotBot (Moz SEO)375
Amazonbot346
Applebot290
GIT_SCAN229
UA_INJECT225
AhrefsBot169
MASSCAN / NMAP 등~80
xAI-Bot7
PerplexityBot7
CCBot7
Google-Extended2

AI 학습 계열 크롤러(GPTBot, ClaudeBot, Bytespider, Amazonbot, Applebot, xAI-Bot, CCBot, Google-Extended 등)의 합계는 약 7,000건 이상. WordPress 부정 로그인과 나란히 하는 최대 세력이었다.

4,127건으로 모든 AI 계열 크롤러 중 1위.

일별 건수:
2026-06-04: 2,785건 ← 돌출
2026-06-01: 1,330건
...

최대 특징은 버스트형 크롤링 (Burst Crawling). 6월 4일 하루에만 주간 전체의 67%가 집중되어 있다. 액세스 패턴을 보면:

/?p=281
/?p=282
/?p=283
...

1개 기사당 4~5개의 요청 (Request) (페이지 본체·RSS·REST API·oEmbed)을 보내는 철저함을 보인다. WordPress의 모든 콘텐츠를 구조째로 흡수하는 설계임을 알 수 있다.

요약: 일상적인 순회(巡回)가 아니라 "일정한 간격으로 전량 스크레이핑 (Scraping)"하는 모델.

446건. 주간 내내 매일 꾸준하게 액세스.

일별 건수:
2026-05-30: 16건
2026-05-31: 81건
...

액세스 경로 내역:

/robots.txt 99건
/sitemap.xml 97건
/robots.txt/ 83건
...

8할 이상이 robots.txt와 sitemap.xml 확인. 그 후에 취득하는 기사는 최신 것으로 한정되어 있어, 이미 취득한 콘텐츠는 재취득하지 않는 거동을 읽을 수 있다. 차분 업데이트(Differential Update)형 설계로 추측된다.

요약: 규칙을 준수하며 차분(Difference)만을 효율적으로 취득하는 점진형. 전량 버스트 방식인 GPTBot과는 대조적.

466건. 특징적인 것은 Django 사이트로의 편중이다.

호스트별 건수:
lang.pontalk.com (Django): 275건 (59%)
d.pontalk.com (WordPress): 186건 (40%)
...

액세스 경로 TOP 5:

/tz_detect/set/ 100건
/static/assets/img/bg.jpeg 36건
/robots.txt 36건
...

/tz_detect/set/

/tz_detect/set/에 대한 100건의 액세스가 눈에 띈다. 이는 Django의 타임존(Timezone) 감지 엔드포인트로, **사이트의 기술 스택(Tech Stack)을 식별하는 프로브(Probe)**처럼 보인다. WordPress 사이트에는 없는 동작을 Django 사이트에서 집중적으로 수행하고 있으며, 프레임워크 고유의 엔드포인트를 의식한 크롤링(Crawling)일 가능성이 높다.

일별로는 5월 30~31일에 급증(340건)한 후, 주 후반에는 진정되었다.

요약: 기술 스택 정찰형. WordPress보다 Django/Flask에 관심이 높을 가능성.

346건, 모두 WordPress 사이트 대상. 일별로는 24~65건으로 주 내내 안정적이다.

일별 건수:
05-30: 24건
05-31: 48건
...

REST API 엔드포인트(/index.php?rest_route=/wp/v2/posts/N)를 사용하여 기사를 가져오는 패턴. GPTBot처럼 한꺼번에 가져오는 것이 아니라, 매일 조금씩 업데이트된 부분을 가져가는 설계로 보인다. Alexa 또는 Alexa의 후계인 AI 학습 데이터 수집으로 추정된다.

threat_name이 AI_BOT으로 분류된 1,095건은 사실 다양한 정체가 혼재되어 있다.

OAI-SearchBot (OpenAI 검색 봇)

GPTBot과는 별개로, OpenAI의 검색용 봇이 모든 호스트의 robots.txt를 순회하고 있었다. GPTBot이 기사 취득에 특화되어 있는 반면, 이쪽은 "어떤 사이트가 존재하는가"에 대한 인덱스(Index) 업데이트가 목적인 것으로 보인다.

ChatGPT-User → 실제 사용자 유입

06-01 08:10: ChatGPT-User/1.0 이 사이트에 액세스
06-01 08:13: /?utm_source=chatgpt.com 으로부터 iPhone 사용자 방문
06-02 08:14: ChatGPT-User/1.0 이 재액세스
...

ChatGPT가 사이트 정보를 참조한 후, 실제 사용자가 ChatGPT를 경유하여 액세스한 로그가 남아 있었다. AI에 의한 소개 효과를 실제 로그로 확인할 수 있었던 흥미로운 사례다.

xAI-Bot (Grok)

7건뿐이다. 아직 존재감은 작지만 확인은 되었다.

AI 계열 크롤러의 메인 타겟. GPTBot, Amazonbot, ClaudeBot, Applebot이 집중되어 있다. 콘텐츠 양이 많을수록 더 많은 AI 기업으로부터 주목받는 경향이 있다. 반면 WORDPRESS_SCAN도 최다(6,288건)를 기록하여, 공격과 학습이 동시에 오는 것이 WordPress의 숙명이다.

Bytespider와 PetalBot (Huawei)이 집중되어 있다. 프레임워크 고유 엔드포인트에 대한 탐색이 있으며, 기술 스택 인식을 수행하고 있다고 추측된다.

AhrefsBot (169건)이 모두 이 사이트의 /question/N을 순회했다. 기사 및 문제 수를 대폭 늘린 후에 SEO 크롤러의 방문이 증가하고 있으며, 이는 콘텐츠 확충의 효과가 나타나고 있다는 증거로도 읽을 수 있다. 또한 ChatGPT-User를 통한 실제 유입도 여기서 발생했다.

ClaudeBot (32건)이 robots.txt를 확인하는 것 외에도, 일부 AI_BOT에 의한 GitLab API 경유 탐색이 확인되었다 (/api/v4/projects?search=secret 등). 공개 GitLab은 주의가 필요하다.

Bot건수/주주요 타겟크롤링 전략특징
GPTBot4,127WordPress버스트형 전량 취득일 단위로 한꺼번에 모든 콘텐츠 수집
...
  • GPTBot은 가차 없다. 주 1~2회, 모든 콘텐츠를 일괄 취득하는 설계는 소규모 서버에 무시할 수 없는 부하가 될 수 있다. -
  • ClaudeBot은 대조적으로 예의 바르다. robots.txt를 확인한 후 필요 최소한만 취득하는 설계는 호감을 준다. -
  • Bytespider는 프레임워크 탐색이 신경 쓰인다. 단순한 콘텐츠 수집을 넘어 기술 스택 식별을 수행하고 있을 가능성이 있어, 계속해서 관찰하고 싶다. -
  • ChatGPT를 통한 실제 유입은 적지만 확인되었다. AI에 언급되는 것이 SEO의 새로운 형태가 되어갈지도 모른다.

로그 분석을 계속함으로써 각 사의 크롤링 전략 변화도 추적할 수 있을 것이다. 특히 Bytespider의 데이터는 아직 축적 중이므로, 속보가 있으면 추가하고 싶다.

  • 기간: 2026/05/30 15:36 〜 2026/06/06 15:29
  • 총 레코드 수: 17,630건
  • 수집 방법: 자체 액세스 로그 분석 시스템 (Django/Channels + nginx)

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0