출처: Nigel Sussman/TechCrunch
많은 개발자들은 AI 웹 크롤링 봇을 ‘인터넷의 바퀴벌레’라고 부릅니다. 과장이 아닙니다. 의지와 상관없이 웹사이트를 폭격하듯 긁어가는 이 크롤러들은 서버를 마비시키고, 리소스를 소모하며, 개인의 콘텐츠를 허락 없이 가져갑니다. 특히 공개적으로 인프라를 공유하고 상대적으로 자원이 부족한 오픈소스 프로젝트들이 이러한 공격에 더 취약합니다. 하지만 최근 오픈소스 개발자들이 창의적이고 때로는 유머러스한 방식으로 반격에 나서고 있습니다.
로봇 배제 표준(robots.txt)의 무력화
이 문제의 핵심은 많은 AI 봇들이 robots.txt 파일을 무시한다는 것입니다. robots.txt는 원래 검색 엔진 봇을 위해 만들어진 도구로, 웹사이트의 어떤 부분을 크롤링하지 말아야 하는지 알려주는 역할을 합니다.
2025년 1월, FOSS(Free and Open Source Software) 개발자인 Xe Iaso는 본인의 블로그에 “도움을 요청하는” 글을 올렸습니다. 그에 따르면 AmazonBot이 그의 Git 서버 웹사이트를 끊임없이 공격해 DDoS 수준의 중단을 일으켰다고 합니다. 이 봇은 robots.txt를 무시하고, 다른 IP 주소 뒤에 숨어 다른 사용자인 척 위장했다고 Iaso는 설명했습니다.
“AI 크롤러 봇을 차단하는 것은 무의미합니다. 그들은 거짓말하고, 사용자 에이전트를 변경하고, 주거용 IP 주소를 프록시로 사용하는 등 다양한 방법을 사용합니다,” Iaso는 한탄했습니다. “그들은 당신의 사이트가 무너질 때까지 긁어가고, 그 후에도 계속 긁어갑니다. 모든 링크의 모든 링크를 클릭하면서 같은 페이지를 계속해서 반복적으로 보게 됩니다. 몇몇은 심지어 같은 초에 같은 링크를 여러 번 클릭하기도 합니다.”
죽음의 신(Anubis)의 등장
출처: TechCrunch
그래서 Iaso는 창의력으로 반격했습니다. 바로 Anubis라는 도구를 개발한 것입니다.
Anubis는 Git 서버에 요청이 도달하기 전에 통과해야 하는 역방향 프록시 작업 증명(proof-of-work) 검사 시스템입니다. 이는 봇은 차단하되 사람이 운영하는 브라우저는 통과시킵니다.
흥미로운 점은 Anubis가 이집트 신화에서 죽은 자들을 심판으로 이끄는 신의 이름이라는 것입니다.
“Anubis는 당신의 영혼(심장)을 재고, 만약 그것이 깃털보다 무거우면, 당신의 심장은 먹히고 당신은, 말하자면, 진짜로 죽는 겁니다,”라고 Iaso는 TechCrunch와의 인터뷰에서 설명했습니다. 웹 요청이 도전을 통과하고 인간으로 판정되면, 귀여운 애니메이션 그림이 성공을 알립니다. 이 그림은 “Anubis를 의인화한 제 해석”이라고 Iaso는 말합니다. 하지만 봇이라면 요청은 거부됩니다.
이 재치 있게 이름 지어진 프로젝트는 FOSS 커뮤니티에서 폭발적인 인기를 얻었습니다. Iaso가 3월 19일에 GitHub에 공개한 이 프로젝트는 불과 며칠 만에 2,000개의 스타, 20명의 기여자, 39개의 포크를 모았습니다.
방어를 위한 복수
Anubis의 즉각적인 인기는 Iaso의 고통이 유일하지 않다는 것을 보여줍니다. 실제로, Niccolò Venerandi가 공유한 이야기들을 살펴보면:
- SourceHut의 창립자 겸 CEO인 Drew DeVault는 “매주 20~100%의 시간을 대규모 초공격적인 LLM 크롤러를 완화하는 데 보내고” 있으며, “매주 수십 번의 짧은 중단”을 경험하고 있다고 설명했습니다.
- Linux 업계 뉴스 사이트 LWN을 운영하는 유명한 FOSS 개발자인 Jonathan Corbet은 자신의 사이트가 “AI 스크래퍼 봇”에 의한 DDoS 수준의 트래픽으로 속도가 느려지고 있다고 경고했습니다.
- 대규모 Linux Fedora 프로젝트의 시스템 관리자인 Kevin Fenzi는 AI 스크래퍼 봇이 너무 공격적이어서 브라질 전체 국가의 접근을 차단해야 했다고 말했습니다.
Venerandi는 TechCrunch에 다른 여러 프로젝트들도 동일한 문제를 겪고 있다고 전했습니다. 그 중 하나는 “한때 중국 IP 주소 전체를 일시적으로 차단해야 했다”고 합니다.
잠시 생각해 보세요. robots.txt 파일을 무시하는 AI 봇을 방어하기 위해 개발자들이 “전체 국가를 차단해야 하는” 상황에 이르렀다는 것을 말입니다.
더 적극적인 대응: 데이터 감염
출처: Getty Images
웹 요청자의 영혼을 재는 것 외에도, 일부 개발자들은 복수가 최선의 방어라고 믿습니다.
최근 Hacker News에서 사용자 xyzal은 robots.txt로 금지된 페이지에 “표백제를 마시는 것의 이점에 관한 기사들” 또는 “침대에서의 성능에 홍역 걸리는 것의 긍정적 효과에 관한 기사들”을 로드하는 것을 제안했습니다.
“봇이 우리의 함정을 방문할 때 단지 0의 가치가 아닌 _부정적인_ 가치를 얻도록 해야 합니다,” xyzal은 설명했습니다.
마침 1월에, “Aaron”이라는 익명의 제작자가 Nepenthes라는 도구를 출시했는데, 이는 정확히 그런 목적을 가지고 있습니다. 이 도구는 크롤러를 끝없는 가짜 콘텐츠의 미로에 가두는데, 개발자가 Ars Technica에 인정한 바와 같이 이는 공격적이고 악의적인 목적을 가지고 있습니다. 이 도구는 식충식물의 이름을 따서 명명되었습니다.
AI 크롤러를 방어하기 위한 여러 도구를 제공하는 최대 상업 플레이어 중 하나인 Cloudflare도 지난주 AI Labyrinth라는 유사한 도구를 출시했습니다.
이는 “‘크롤링 금지’ 지시를 무시하는 AI 크롤러와 기타 봇의 속도를 늦추고, 혼란스럽게 하고, 리소스를 낭비하기 위한 것”이라고 Cloudflare는 블로그 포스트에서 설명했습니다. Cloudflare는 불법 행위를 하는 AI 크롤러에게 “합법적인 웹사이트 데이터를 추출하는 대신 관련 없는 콘텐츠를 제공한다”고 밝혔습니다.
SourceHut의 DeVault는 TechCrunch에 “Nepenthes는 크롤러에게 쓸모없는 정보를 제공하고 그들의 우물을 오염시키기 때문에 만족스러운 정의의 감각이 있지만, 결국 Anubis가 제 사이트에서 작동한 해결책”이라고 말했습니다.
그러나 DeVault는 또한 더 직접적인 해결책을 위한 공개적이고 진심 어린 호소를 했습니다: “LLM이나 AI 이미지 생성기 또는 GitHub Copilot이나 이런 쓰레기들을 합법화하지 말아 주세요. 사용하지 마시고, 이야기하지 마시고, 새로 만들지 마시고, 그냥 멈춰주세요.”
하지만 그런 일이 일어날 가능성은 제로에 가깝습니다. 따라서 개발자들, 특히 FOSS 개발자들은 창의력과 유머의 감각으로 반격하고 있습니다.
끝나지 않는 전쟁의 시작
오픈소스 커뮤니티의 이러한 저항 움직임은 단순한 방어 이상의 의미를 가집니다. 이는 AI 기업들이 인터넷에서 무제한적으로 데이터를 수집하는 관행에 대한 철학적, 윤리적 반발의 표현이기도 합니다.
개발자들이 만드는 이러한 도구들은 단순히 기술적 해결책이 아니라 디지털 세계의 주권과 자기 결정권에 대한 강력한 성명서입니다. 그들은 의미 있는 동의 없이 데이터를 수집하는 것에 대해 “아니오”라고 말하고 있으며, 이는 AI 발전의 기반이 되는 전체 생태계에 파급 효과를 가질 수 있습니다.
Nepenthes, Anubis, AI Labyrinth와 같은 도구들은 더 넓은 맥락에서 보면 디지털 저항의 무기로서, 데이터의 가치와 그것을 제어할 권리에 대한 근본적인 질문을 제기합니다.
물론 AI 기업들이 반격하지 않을리 없습니다. 그들은 더 정교한 크롤링 기술을 개발하고, 이러한 함정을 감지하고 우회하는 방법을 찾을 것입니다. 이는 일종의 디지털 군비 경쟁이 될 것이며, 그 결과는 인터넷의 미래 형태와 AI 발전의 방향에 상당한 영향을 미칠 수 있습니다.
개방적 인터넷과 데이터 소유권의 균형점
이 상황은 우리에게 중요한 질문을 던집니다: 인터넷의 개방성과 데이터 소유권 사이의 적절한 균형은 무엇일까요? 인터넷의 기본 원칙 중 하나는 정보의 자유로운 흐름이지만, 이것이 개인과 조직의 콘텐츠 통제권을 무시해도 된다는 의미는 아닙니다.
robots.txt와 같은 기존 프로토콜은 인터넷 상의 예의와 상호 존중의 상징으로 오랫동안 존중되어 왔습니다. AI 기술의 등장으로 이러한 사회적 계약이 시험대에 오른 것입니다. 개발자들이 창의적인 방법으로 자신들의 디지털 영역을 방어하면서, 우리는 새로운 균형점을 찾는 과정에 있습니다.
어쩌면 최종적인 해결책은 기술적인 것이 아니라 법적, 윤리적인 것일 수 있습니다. AI 크롤링에 대한 규제 프레임워크, 데이터 수집에 대한 명확한 동의 메커니즘, 그리고 무엇보다도 모든 참여자 간의 상호 존중과 협력의 문화가 필요할지도 모릅니다.
하지만 그때까지, 오픈소스 개발자들은 자신들의 창의력, 결의, 그리고 약간의 유머로 무장하고 계속해서 저항할 것입니다. 그리고 그 과정에서, 어쩌면 우리가 원하는 디지털 미래의 모습에 대한 중요한 대화를 시작하게 될 것입니다.
개발자들을 위한 팁: AI 크롤러 방어하기
마지막으로, 여러분의 사이트를 AI 크롤러로부터 보호하고 싶으신 개발자분들을 위한 몇 가지 팁을 소개합니다:
- 철저한 robots.txt 파일 유지: 대부분의 합법적인 크롤러는 여전히 이 지시를 따릅니다.
- 지능형 함정 사용: Anubis나 Nepenthes와 같은 도구를 검토하고 여러분의 필요에 맞게 구현해보세요.
- 사용자 에이전트 모니터링: 비정상적인 크롤링 패턴을 식별하고 필요한 경우 특정 에이전트를 차단하세요.
- 리소스 제한 설정: 서버 부하를 관리하기 위해 요청 속도 제한을 구현하세요.
- 커뮤니티와 협력: 다른 개발자들과 경험과 해결책을 공유하세요. 이것은 집단적인 노력입니다.
이러한 디지털 저항의 무기가 실제로 AI 크롤러의 행동을 바꾸게 될지는 시간이 지나야 알 수 있겠지만, 한 가지는 확실합니다: 오픈소스 개발자들은 쉽게 물러서지 않을 것입니다.
답글 남기기