Nepenthes - AI 웹 크롤러를 잡는 함정

1 day ago 3

  • 웹 크롤러를 잡기 위한 소프트웨어로, 특히 대규모 언어 모델(LLM)을 위한 데이터를 스크랩하는 크롤러를 대상으로 함.
    • 무한한 페이지 시퀀스를 생성하여 크롤러가 빠져나가지 못하게 함.
    • 크롤러가 서버를 과부하시키지 않도록 의도적인 지연을 추가하며, Markov-babble을 사용하여 크롤러가 데이터를 수집하도록 유도할 수 있음.
    • 이 소프트웨어는 악의적인 목적으로 설계되었으며, 사용 시 주의가 필요함.
  • 경고
    • LLM 크롤러는 매우 집요하며, 이 소프트웨어를 사용하면 크롤러가 원하는 데이터를 계속 제공하게 됨.
    • 검색 엔진을 위한 크롤러와 AI 모델을 훈련하는 크롤러를 구분할 수 있는 방법이 없으며, 이 소프트웨어를 사용하면 사이트가 검색 결과에서 사라질 가능성이 높음.
  • 사용법
    • Nginx 또는 Apache 뒤에 tarpit을 숨기는 것이 권장됨.
    • HTTP 헤더를 사용하여 tarpit을 구성하며, 예시로 nginx 설정 스니펫이 제공됨.
  • 설치
    • Docker를 사용하거나 수동으로 설치 가능.
    • Lua, SQLite, OpenSSL 및 여러 Lua 모듈이 필요함.
    • 설치 후 config.yml 파일을 조정하여 시작 가능.
  • Markov Babbler 부트스트랩
    • Markov 기능은 훈련된 코퍼스가 필요하며, 다양한 텍스트 소스를 사용하여 훈련 가능.
    • 훈련 데이터는 POST 엔드포인트로 전송하여 추가할 수 있음.
  • 통계
    • JSON 형식으로 여러 통계 엔드포인트를 제공하며, IP 주소 및 사용자 에이전트 문자열을 확인할 수 있음.
  • Nepenthes의 방어적 사용
    • 사이트에서 Nepenthes 위치로의 링크를 통해 크롤러가 실제 콘텐츠에 접근하지 못하도록 함.
    • 수집된 IP 주소 목록을 사용하여 크롤러를 차단할 수 있음.
  • Nepenthes의 공격적 사용
    • 크롤러를 차단하지 않고 최대한 많은 데이터를 제공하여 AI 모델을 방해할 수 있음.
  • 구성 파일
    • config.yaml 파일의 가능한 모든 지시문이 설명됨.
    • 다양한 설정을 통해 Nepenthes의 동작을 조정할 수 있음.

Read Entire Article