- 웹 크롤러를 잡기 위한 소프트웨어로, 특히 대규모 언어 모델(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의 동작을 조정할 수 있음.