피드로 돌아가기
Dev.toFrontend
원문 읽기
DOM 조작 없는 Cookie Injection 기반 CMP 자동 응답 설계
How ProtoConsent answers consent banners without touching the DOM
AI 요약
Context
기존 CMP 대응 도구들은 DOM 기반의 Click Simulation이나 스크립트 전체 차단 방식을 사용함. 이로 인해 DOM 구조 변경에 따른 취약성 증대 및 __tcfapi 미작동으로 인한 사이트 기능 장애 문제가 지속적으로 발생함.
Technical Solution
- document_start 시점에 Content Script를 실행하여 CMP 로드 전 선제적으로 Consent Cookie를 주입하는 Preventive Architecture 설계
- CMP별 JSON Signature 템플릿을 통해 사용자 목적(Purpose) 기반의 동적 Cookie 값 생성 및 주입
- IAB TCF v2.2 표준을 준수하여 6가지 사용자 설정을 24개 Purpose ID로 매핑한 Base64url Bitfield 형태의 TC String 생성
- Cookie Injection 실패 및 Server-side Consent 대응을 위해 Cosmetic CSS 및 MutationObserver 기반의 Scroll Unlock 레이어를 통한 다중 방어 체계 구축
- HTTP 오버헤드 감소 및 프라이버시 보호를 위해 CMP 초기화 이후 5초 뒤 주입된 Cookie를 자동 삭제하는 Lifecycle 관리
- declarativeNetRequest를 활용해 네트워크 레벨에서 거부된 Purpose 관련 요청을 원천 차단하는 Layered Security 적용
실천 포인트
- UI 요소의 변화에 의존하는 Reactive 방식보다 데이터 상태를 직접 제어하는 Preventive 설계 검토 - 외부 라이브러리나 표준 API(TCF v
2.2 등)의 데이터 포맷을 분석하여 데이터 레벨에서 상호작용 구현 - 클라이언트 사이드에서 주입한 임시 데이터의 생명주기를 설정하여 불필요한 네트워크 부하 및 추적 가능성 최소화 - 단일 해결책의 한계를 보완하기 위해 데이터 주입, 스타일 제어, 네트워크 차단 등 다층적 Fallback 전략 수립