아누비스 (소프트웨어)

아누비스(Anubis)는 웹 스크래핑을 방지하기 위해 사용자가 웹사이트에 접속하기 전 작업 증명 시스템 챌린지를 추가하는 자유-오픈 소스 소프트웨어 프로그램이다. 주로 깃 포지(forge)와 자유-오픈 소스 소프트웨어 프로젝트에서 주로 채택되었다.

아누비스는 아마존의 웹 크롤러가 로봇 배제 표준(robots.txt) 프로토콜을 준수하지 않고 제한을 우회하여 깃 서버에 과부하를 주는 것에 대응하여 세 이아소(Xe Iaso)가 제작하였다. 이아소는 해시캐시(Hashcash)에서 프로젝트의 영감을 얻었다고 밝혔다. 이 애플리케이션은 User-Agent 헤더와 같은 요청 요소를 검사하여 해당 요청에 작업 증명이 필요한지 여부를 결정하는 기능을 지원한다.

아누비스라는 이름은 고대 이기트의 장례와 심판의 신에서 따온 것이다. 아누비스의 역할에는 죽은 자가 사후 세계로 건너가는 것을 허용할지 결정하기 위해 그들의 심장 무게를 재는 것이 포함되었다. 애니메이션 스타일의 고양이귀 같은 캐릭터로 묘사된 아누비스가 진행 표시줄과 함께 나타난다.

 설계 

아누비스는 브라우저가 계산적으로 어려운 챌린지를 완료할 때까지 웹사이트에 대한 접속을 일시적으로 차단한다. 이 챌린지를 구현하는 것은 AI 스크래퍼에게는 설계상의 장애물이자 계산 비용이 되지만, 현대적인 웹 브라우저에서는 백그라운드에서 몇 초 이내에 완료할 수 있다. 이 시간 동안 최종 사용자에게는 "로봇이 아님을 확인하는 중입니다!"라는 문구가 표시된 로딩 화면이 나타난다.

챌린지가 완료되면 브라우저에 토큰(HTTP 쿠키 ID techaro.lol-anubis-auth)이 부여되어 추가적인 중단 없이 정해진 기간 동안 웹사이트에 계속 접속할 수 있게 된다. 토큰은 EdDSA로 서명된다. 챌린지를 완료하지 못하면 접속이 허용되지 않는다. 해시는 계산되기 전에는 예측할 수 없으므로, 적절한 논스를 찾기 위해서는 많은 시도가 필요하다. 그러나 서버는 발견된 숫자가 유효한지 확인하기 위해 해시를 한 번만 계산하면 된다.

챌린지 자체는 해시캐시 및 비트코인에서 구현된 작업 증명 시스템 알고리즘과 유사하다. 아누비스로부터 난수를 받으면 브라우저는 다른 숫자(논스)를 찾아 응답해야 하며, 두 숫자를 연결했을 때의 SHA-256 해시값이 특정 개수의 선행 0(zero)을 가져야 한다. 챌린지 완료에 필요한 선행 0의 개수는 사이트 운영자가 설정할 수 있다. 선행 0이 4개인 해답을 찾는 데는 보통 수 초가 걸리지만, 6개인 경우에는 몇 분이 소요될 수 있다.

자신들의 봇이 원치 않는 트래픽이라는 것을 인지한 AI 스크래퍼 운영자들은 요청을 표준 웹 브라우저에서 오는 것처럼 위장하려고 시도할 수 있다. 기본적으로 아누비스는 "Mozilla"를 포함하는 모든 User-Agent 헤더를 포함하여 "브라우저일 가능성이 있는 모든 것"에 챌린지를 제기하는 것을 목표로 한다. 로봇 배제 표준(robots.txt), well-known URI, 파비콘, RSS 피드에 대한 요청에는 챌린지가 표시되지 않는다.

일부 관찰자들은 아누비스가 일반적인 목적을 달성하면서 동시에 동일한 브라우저 작업을 사용하여 추가 비용 없이 암호화폐를 채굴하도록 개조될 수 있다는 가설을 제기했다. 이아소는 "나는 암호화폐를 조금도 건드리고 싶지 않다. 이렇게 함으로써 돈을 벌 기회를 놓치고 있다는 것은 알지만, 내가 보호하고자 하는 커뮤니티들을 소외시키고 싶지 않다"며 이러한 아이디어를 거부했다.

 채택 
아누비스는 다음을 포함한 여러 프로젝트에서 사용되었다.

 그놈 프로젝트의 깃랩 인스턴스
 리눅스 커널 메일링 리스트 아카이브 및 깃 서버
 sourceware.org
 FFmpeg
 와인
 유네스코
 사이언스 올림피아드(Science Olympiad) 학생 센터
 인라이튼먼트
 프리캐드
 스컴VM
 듀크 디지털 저장소

 비판 
섬네일|CELPHASE가 그린 자칼 귀를 가진 애니메이션 소녀 모습의 아누비스 마스코트.|alt=아누비스 마스코트가 웃으며 앞을 가리키고 있다.
테이비스 오만디는 아누비스로 보호되는 웹사이트를 스크래핑하는 비용이 무시할 수 있는 수준일 가능성이 높다고 지적했다. "수백만 개의 사이트가 아누비스를 배포하기 전까지는 계산 비용이 한 달에 1센트에도 미치지 못할 것이라고 생각한다."

아누비스의 이전 버전은 로딩 화면에 평판이 좋지 않은 AI가 생성한 마스코트를 표시했다. 이는 2025년 유럽 예술가 CELPHASE가 의뢰받아 제작한 애니메이션 소녀 모습의 아누비스로 교체되었다.

아누비스 마스코트는 최종 사용자에게 표시되며 소프트웨어 구성 파일에서 변경할 수 없다. 이아소는 브랜딩을 변경하는 것은 "기업용 기능"이며, 프로젝트에 재정적 기여를 하지 않은 조직은 이를 변경하지 말 것을 요청했다. 아누비스를 배포한 듀크 대학교는 마스코트 때문에 사용을 "주저"하기도 했다. 제이미 재윈스키는 이 마스코트를 "귀여운 척하는 카와이 쓰레기"라고 묘사했다.

 각주 

 외부 링크 



분류:MIT 라이선스 소프트웨어
분류:자바스크립트로 작성된 자유 소프트웨어
분류:웹 스크래핑
분류:Go로 작성된 자유 소프트웨어
분류:캐나다의 정보 기술