웹 스크래핑 방지 기술 '아누비스(Anubis)'의 기술적 분석
디스코드(Discord)를 떠나는 이유에 대한 논의에서 웹 스크래핑 방지 기술인 아누비스(Anubis)가 소개됨
아누비스(Anubis)는 Proof-of-Work(PoW) 방식을 사용하여 웹사이트 스크래핑을 방지함
JShelter와 같은 플러그인이 아누비스(Anubis)의 작동을 방해할 수 있다는 점이 언급됨
궁극적으로는 헤드리스 브라우저(Headless Browser)를 식별하기 위한 임시 방편으로 설계됨
아누비스(Anubis)의 Proof-of-Work(PoW) 메커니즘
아누비스(Anubis)는 웹사이트 스크래핑을 방지하기 위해 Proof-of-Work(PoW) 방식을 채택했다. 이는 이메일 스팸 감소를 위해 제안된 Hashcash와 유사한 방식으로, 스크래핑 봇이 웹사이트 리소스를 과도하게 사용하는 것을 막는 데 목적이 있다. 기술적으로 보면, 각 요청에 대해 계산 비용을 요구하여 대규모 스크래핑 시도를 어렵게 만든다.
헤드리스 브라우저(Headless Browser) 식별을 위한 임시 방편
아누비스(Anubis)는 궁극적으로 헤드리스 브라우저(Headless Browser)를 식별하기 위한 임시 솔루션으로 설계되었다. 특히 폰트 렌더링 방식 등을 통해 헤드리스 브라우저를 식별하고, 정상적인 사용자는 PoW 챌린지를 거치지 않도록 하는 것을 목표로 한다. 이는 사용자 경험을 해치지 않으면서 스크래핑 봇을 효과적으로 차단하기 위한 전략이다.
JShelter와 같은 플러그인과의 호환성 문제
아누비스(Anubis)는 모던 자바스크립트(Modern JavaScript) 기능을 사용하므로, JShelter와 같은 플러그인에 의해 차단될 수 있다. 이는 JShelter가 웹사이트의 동작을 제한하는 방식으로 작동하기 때문이다. 따라서 아누비스(Anubis)를 정상적으로 사용하기 위해서는 JShelter과 같은 플러그인을 비활성화해야 한다.
스크래핑 방지 기술의 트레이드오프(Trade-offs)
아누비스(Anubis)는 스크래핑 방지 효과를 위해 사용자에게 추가적인 계산 부담을 요구한다. 이는 웹사이트 로딩 속도 저하로 이어질 수 있으며, 특히 저사양 기기에서는 사용자 경험을 저하시킬 수 있다. 하지만, 스크래핑으로 인한 서버 자원 낭비를 막고, 웹사이트의 안정성을 유지하는 데 기여한다.