# AI 스크래퍼에 '19금 데이터' 먹이기: 학습 필터를 역이용한 블로그 방어술

> Clean Markdown view of GeekNews topic #25187. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25187](https://news.hada.io/topic?id=25187)
- GeekNews Markdown: [https://news.hada.io/topic/25187.md](https://news.hada.io/topic/25187.md)
- Type: news
- Author: [baeba](https://news.hada.io/@baeba)
- Published: 2025-12-19T13:21:39+09:00
- Updated: 2025-12-19T13:21:39+09:00
- Original source: [github.com/vivienhenz24](https://github.com/vivienhenz24/fuzzy-canary)
- Points: 7
- Comments: 2

## Summary

AI 학습용 스크래핑을 교란하기 위한 **‘Fuzzy Canary’**는 웹페이지에 보이지 않는 링크를 삽입해, 스크래퍼의 콘텐츠 필터가 스스로 데이터를 차단하도록 유도합니다. 서버 사이드 방식은 자바스크립트를 실행하지 않는 수집기에도 대응할 수 있어 가장 안정적이며, 검색 엔진 봇을 자동 식별해 SEO 손상을 최소화합니다. 정적 사이트의 경우 런타임 주입으로 대응하지만, 필터링 정밀도와 검색 노출 간 균형이 핵심 과제로 남습니다.

## Topic Body

**AI 학습 데이터 수집 방지를 위한 'Fuzzy Canary' 도구 분석**  
  
* **핵심 요점:**  
* 부적절한 웹사이트(성인물 등)로 연결되는 비가시 링크를 심어 AI 스크래퍼의 콘텐츠 차단 필터를 역이용함.  
* 서버 사이드(권장)와 클라이언트 사이드 주입 방식을 제공하며, 프레임워크에 따른 적용법이 상이함.  
* 검색 엔진 최적화(SEO) 유지를 위해 정상적인 검색 봇(Google, Bing 등)을 식별하여 링크 주입을 배제하는 기능을 포함함.  
  
  
---  
  
##### 서론: AI 스크래핑 대응을 위한 기술적 접근  
  
* **문제 상황:** AI 기업들이 학습 데이터 확보를 위해 개인 호스팅 블로그 등의 웹사이트 데이터를 무작위로 수집함.  
* **해결책 제안:** 'Fuzzy Canary'는 HTML 내에 보이지 않는 링크(성인 웹사이트 등)를 삽입하는 방식을 사용함.  
* **작동 원리:** 해당 링크가 포함된 데이터는 AI 스크래퍼의 콘텐츠 안전 장치(Safeguard)를 트리거하여, 결과적으로 해당 사이트의 데이터가 학습용으로 수집되는 것을 방지함.  
  
##### 본론 1: 설치 및 환경별 구현 방식  
  
**서버 사이드와 클라이언트 사이드 주입 방식의 구분**  
  
* **서버 사이드 구현 (권장):**  
* **특징:** HTML 생성 시점에 'Canary(함정 링크)'를 포함하므로, 자바스크립트를 실행하지 않는 스크래퍼에게도 효과적으로 작동함.  
* **React 기반 프레임워크(Next.js, Remix):** 루트 레이아웃에 `&lt;Canary /&gt;` 컴포넌트를 추가하여 적용함. Remix 등 일부 프레임워크는 로더(Loader)를 통해 사용자 에이전트(User Agent) 정보를 전달해야 함.  
* **비 React 프레임워크:** `getCanaryHtml()` 유틸리티를 사용하여 `&lt;body&gt;` 태그 시작 부분에 HTML을 직접 삽입함.  
  
  
* **클라이언트 사이드 구현:**  
* **특징:** 정적 사이트(Static Site)나 클라이언트 주입을 선호하는 경우 사용됨.  
* **적용:** 메인 엔트리 파일에 자동 초기화 모듈(`@fuzzycanary/core/auto`)을 임포트하면 페이지 로드 시 자동으로 주입됨.  
  
  
  
##### 본론 2: 검색 엔진 최적화(SEO) 고려 사항  
  
**정상적인 검색 봇 식별과 정적 사이트의 한계**  
  
* **봇 필터링 메커니즘:** Fuzzy Canary는 Google, Bing, DuckDuckGo 등 알려진 검색 엔진 봇을 식별하여 해당 요청에는 함정 링크 주입을 생략, SEO 피해를 방지함.  
* **서버 렌더링의 이점:** 서버가 요청된 사용자 에이전트를 확인하여 검색 엔진에는 '깨끗한 HTML'을, AI 스크래퍼에는 'Canary 포함 HTML'을 선별적으로 제공 가능함.  
* **정적 사이트의 구조적 문제:**  
* 빌드 시점에 HTML이 생성되는 정적 사이트는 사용자 에이전트 확인이 불가능함.  
* 모든 HTML에 함정 링크가 포함될 경우, Google 등 검색 엔진이 해당 링크를 인식하게 되어 SEO에 악영향을 미칠 수 있음.  
  
  
* **대응 전략:** 정적 사이트 생성기를 사용하는 경우 클라이언트 사이드 초기화 방식을 사용하여 런타임에 `navigator.userAgent`를 확인하고 주입 여부를 결정해야 함(단, 자바스크립트를 실행하는 봇에만 유효하다는 한계 존재).  
  
##### 결론: 적용 시 고려사항 및 전략적 선택  
  
* **기술적 효율성:** 데이터 보호 측면에서는 자바스크립트 실행 여부와 무관하게 작동하는 서버 사이드 방식이 가장 효과적임.  
* **SEO와의 균형:** 정적 사이트 운영 시 SEO 저하 위험을 회피하기 위해 클라이언트 사이드 방식을 채택하는 것이 구조적으로 불가피함.  
* **최종 권고:** 사용 중인 웹 프레임워크의 렌더링 방식(SSR vs Static)에 따라 스크래핑 방지 효율과 SEO 유지 사이의 균형을 고려하여 적용 방식을 선택해야 함.

## Comments



### Comment 48000

- Author: baeba
- Created: 2025-12-19T13:21:54+09:00
- Points: 1

##### HN 댓글 피드백 요약  
  
**1. 창의적 발상과 오락적 가치**  
  
* 실효성을 떠나 거대 AI 기업의 무단 수집에 '성인물 링크'로 맞서는 기발하고 통쾌한 아이디어로 호평.  
* 부조리한 스크래핑 행태를 '해학적(풍자)'으로 응징한다는 점에서 커뮤니티의 지지를 얻음.  
  
**2. 실질적 차단 효과 및 사례**  
  
* 유사 도구(Anubis 등) 도입 후 일일 요청 60만 건이 100건으로 급감했다는 실제 성공 사례 공유.  
* Git 저장소 전체를 무차별적으로 긁어가는 단순/무식한 스크래퍼를 방어하는 데 높은 효율성을 보임.  
  
**3. 잠재적 부작용(Risk) 우려**  
  
* **SEO 페널티:** 구글 등 정상 검색 엔진이 성인물 링크를 감지할 경우 검색 순위 하락 가능성 제기.  
* **접근성 제한:** 사내망(Corporate Network)의 유해 사이트 필터에 걸려 기술 블로그 접속이 차단될 위험 존재.  
  
**4. 기술적 대안에 대한 논쟁**  
  
* **Cloudflare:** 무료 WAF로도 충분하다는 의견과 중앙화된 서비스에 대한 거부감이 공존.  
* **자체 방어:** 간단한 JS/쿠키 인증으로 방어 가능하다는 주장 vs 최신 헤드리스 브라우저(Headless Browser) 봇에게는 무용지물이라는 반박 대립.  
  
**5. AI 기업의 비윤리성 성토**  
  
* **비용 전가:** 데이터는 AI가 가져가고, 서버 부하 및 트래픽 비용은 개인이 부담하는 구조적 모순 비판.  
* **DDoS급 행태:** 트래픽 유입(보상) 없이 무차별적으로 서버를 타격하는 현 스크래핑 방식에 대한 강한 반감 표출.

### Comment 48036

- Author: aer0700
- Created: 2025-12-20T09:30:40+09:00
- Points: 1
- Parent comment: 48000
- Depth: 1

SEO가 제일 문제네요...
