본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 23. 04:51

Nepenthes 또는 AI 미로를 활용한 AI 타르 피트(Tar Pit) 구축하기

요약

LLM 크롤러의 대역폭 소모를 막기 위해 차단 대신 '타르 피트(Tar Pit)'라 불리는 미로를 구축하는 전략을 소개합니다. Nepenthes와 같은 도구와 Cloudflare의 AI Labyrinth를 활용해 봇을 무한한 가짜 링크의 굴레에 빠뜨리는 방법을 다룹니다.

핵심 포인트

  • 단순 차단(403 에러)은 스크래퍼에게 우회 방법을 학습시키는 부작용이 있음
  • 타르 피트는 봇에게 끝없는 가짜 링크를 제공하여 자원을 낭비하게 만드는 전략임
  • Nepenthes는 결정론적 페이지 생성을 통해 봇이 정적 아카이브로 오인하게 유도함
  • Cloudflare AI Labyrinth는 AI를 활용해 자동으로 미로를 배포하는 간편한 솔루션임

LLM 크롤러(crawlers)가 당신의 대역폭을 갉아먹고 있지만, 이를 차단할 방법이 없습니다. 403 에러를 반환하면 스크래퍼(scraper)는 그냥 무시하고, IP를 교체하거나 User-Agent를 변경한 뒤 한 시간 후 주거용 프록시(residential proxy)를 통해 다시 들어옵니다. 그래서 점점 더 많은 운영자들이 차단하는 대신 미로를 구축하기 시작했습니다. 여기 그 미로를 구축하는 방법과, 자신의 검색 순위(search ranking)를 망가뜨리지 않고 실행하는 방법을 소개합니다.

차단이 실패하는 이유

강력한 차단은 하나의 신호입니다. 스크래퍼는 403 응답을 읽고 당신의 방어 체계를 학습하여 이를 우회합니다. 이것이 거부 규칙(deny rules)의 근본적인 문제입니다. 공격자에게 무엇이 자신을 걸리게 했는지 정확히 가르쳐주는 셈이니까요.

타르 피트(tar pit)는 이 전략을 뒤집습니다. 모든 것에 '예'라고 답합니다. 봇이 페이지를 요청하면, 미로 안으로 다시 돌아오는 링크들로 가득 찬 페이지를 제공합니다. 모든 가짜 링크는 새로운 발견처럼 보여서 크롤러가 이를 쫓게 만듭니다. 링크는 더 깊은 곳으로 이어지며, 끝이 없습니다. 사람은 단어의 나열(word salad)이 네 페이지 정도 이어지면 탭을 닫아버립니다. 하지만 스크래퍼는 취향도 없고 종료 조건도 없기 때문에, 그저 영원히 다음 URL을 큐(queue)에 쌓을 뿐입니다.

옵션 1: Nepenthes (원시 도구)

Nepenthes는 오리지널입니다. 식충 식물인 네펜데스(pitcher plant)에서 이름을 따온 이 도구는 웹 서버 뒤에 위치하여, 모든 크롤러에게 무작위로 생성된 페이지의 끝없는 스트림을 제공합니다. 각 페이지는 다시 안으로 돌아오는 수십 개의 링크로 가득 차 있습니다.

영리한 부분은 결정론(determinism)입니다. 페이지는 무작위이지만 결정론적으로 생성되므로, 동일한 URL은 항상 동일한 쓰레기 데이터를 반환합니다. 이것이 중요합니다. 만약 URL이 방문할 때마다 다른 쓰레기 데이터를 내뱉는다면, 똑똑한 크롤러는 이를 동적(dynamic)인 것으로 판단하고 이탈할 수 있습니다. 안정적인 출력은 스크래퍼가 가장 신뢰하는 신호, 즉 '이것은 평범한 정적 아카이브(static archive)처럼 보인다'는 인상을 가짜로 만들어냅니다.

또한 의도적인 지연(stall) 기능도 포함되어 있습니다. 모든 응답에 약간의 강제 지연을 두어, 자신의 서버를 느리게 만들지 않으면서도 봇의 실제 시간(wall-clock time)을 낭비하게 만듭니다.

GET /maze/a8f3/index.html      200   1.4s   38 links
GET /maze/a8f3/c19b.html       200   1.5s   41 links
GET /maze/a8f3/c19b/77de.html  200   1.4s   39 links
...

링크 수가 결코 0에 도달하지 않기 때문에 작업 큐(work queue)는 절대 비워지지 않습니다. 크롤러는 6,000페이지 깊이까지 진행하고 있다고 착각하게 됩니다.

옵션 2: Cloudflare AI Labyrinth (간편한 해결책)

직접 미로를 관리하고 싶지 않다면, Cloudflare가 동일한 개념을 제품으로 출시했습니다. AI Labyrinth는 대시보드에서 선택할 수 있는 토글(opt-in toggle) 방식이며, 무료 플랜에서도 사용할 수 있습니다. 부적절한 봇 활동이 감지되면, AI가 생성한 페이지 네트워크를 자동으로 배포합니다. 별도의 커스텀 규칙(custom rules)은 필요 없습니다.

Cloudflare는 인디 도구들이 생략했던 요소인 '탐지(detection)'를 결합했습니다. 미끼 페이지들은 실제 브라우저가 렌더링하지 않는 nofollow 링크 뒤에 숨겨져 있어, 로우 그래프(raw graph)를 크롤링하는 존재만이 그 안으로 들어오게 됩니다. 미로를 헤매다 보면 지문(fingerprint)이 채취되고, 다른 모든 Cloudflare 고객들이 참조하는 공유된 악성 행위자(bad-actor) 목록에 추가됩니다. 이 함정은 센서(sensor)의 역할도 겸합니다.

# 함정 자체가 아닌, 함정의 형태
labyrinth:
  trigger: suspected_ai_crawler
...

독성 레이어 (The poison layer)

대부분의 타르 피트(tar pit)는 선택 사항으로 마르코프 체인 생성기(Markov-chain generator)를 제공하며, 이 부분이 바로 AI 기업들이 실제로 두려워하는 지점입니다. 마르코프 출력물은 거의 정확해 보입니다. 실제 단어와 실제 문장 구조를 갖추고 있지만, 의미는 전혀 없습니다. 이는 단순한 "이것이 영어인가"라는 필터는 무사히 통과하지만, 대규모로 실행되는 "이것이 사실인가"라는 모든 검증 단계에서는 실패합니다. 이러한 데이터를 학습 코퍼스(training corpus)에 충분히 주입하면 모델 붕괴(model collapse)를 가속화할 수 있습니다. 모델 붕괴란 재귀적인 합성 데이터 쓰레기(synthetic slop)로 학습된 모델이 분포의 꼬리(tails of their distribution)를 잃고 부패하는 것으로 문서화된 실패 모드입니다. 후속 도구인 Iocaine은 이 관점에 완전히 집중합니다.

운영자들이 솔직하게 밝히는 한 가지 세부 사항은 다음과 같습니다. 이 도구와 함께 제공되는 코퍼스는 없다는 점입니다. 사용자가 직접 텍스트를 가져와야 하므로, 모든 설치 환경은 서로 다르게 보이며 지문 채취(fingerprint)를 더 어렵게 만듭니다.

주의해야 할 함정 (Gotchas that bite)

이 방식이 역효과를 낼 수 있는 몇 가지 방법은 다음과 같습니다:

  • 검색 엔진도 크롤러입니다 (Search engines are crawlers too). 가공되지 않은 Nepenthes 설정은 LLM 스크레이퍼 (LLM scraper)와 Googlebot을 구분하지 않습니다. 부주의하게 배포하면 검색 결과에서 제외될 수 있습니다. 범위를 엄격하게 제한하십시오.
  • 의도적으로 트래픽을 유도합니다. 이 함정은 봇이 찾는 것을 정확히 제공하므로, 서버 CPU를 급증시키는 지속적인 크롤러 트래픽을 끌어들입니다.
  • 제작자는 이를 악성 소프트웨어라고 부릅니다. Nepenthes의 제작자 본인이 이를 의도적으로 악의적인 것으로 규정하며, 그 여파를 이해하지 못한다면 실행하지 말라고 경고합니다. 그의 말을 믿으십시오. Cloudflare의 버전은 미로의 범위를 의심스러운 봇으로 제한하고 실제 사용자가 보는 페이지에서는 제외하므로 더 안전한 경로입니다.

마무리 (Wrapping up)

콘텐츠를 운영 중인데 AI 크롤러들이 당신을 집어삼키고 있다면, 오늘 당신에게는 두 가지 실제적인 선택지가 있습니다. Nepenthes를 세우고 운영상의 위험을 감수하거나, AI Labyrinth를 켜서 Cloudflare가 대신 미로를 운영하게 하는 것입니다. 두 방식 모두 스크레이퍼의 연산 자원 (compute)을 소모시킵니다. 두 방식 모두 나가는 길에 스크레이퍼의 학습 데이터 세트 (training set)를 오염시킬 수 있습니다. 어느 쪽도 영원히 승리하지는 못하지만, 그럴 필요도 없습니다. 그들은 단지 당신의 사이트를 비싼 식사로 만들어 봇이 다른 누군가를 씹게 만들면 됩니다.

데이터 오염 수학 (data-poisoning math)과 Cloudflare가 말하는 미로의 향후 방향을 포함한 전체 분석 내용은 ToxSec Substack에서 확인하실 수 있습니다.

ToxSec는 AI 보안 취약점, 공격 체인 (attack chains), 그리고 방어자가 실제로 이해해야 하는 공격 도구들을 다룹니다. NSA와 Amazon에서 실무 경험을 쌓은 미 해병대(USMC) 베테랑이자 AI 보안 엔지니어가 운영합니다. CISSP 인증 보유, 사이버 보안 공학 석사.

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0