피드로 돌아가기
Dev.toSecurity
원문 읽기
Third-party script 호환성 확보를 통한 CSP 배포 실패 제로화
CSP for Third Party Scripts: The Practical Cheat Sheet for GA, Stripe, Intercom, and More
AI 요약
Context
정적 CSP 정책 수립 후 다양한 Third-party 서비스 도입 시 발생하는 Directive 위반으로 인한 서비스 중단 위험 존재. 각 서비스가 CDN, API, Iframe 등 다중 도메인을 복합적으로 사용함에 따라 관리 포인트가 급증하는 한계 직면.
Technical Solution
- 'unsafe-inline' 배제 및 Nonce 기반 인증과 'strict-dynamic' 도입을 통한 동적 스크립트 로드 체인 허용 구조 설계
- script-src, connect-src, frame-src 등 Directive별 도메인 세분화를 통한 최소 권한 원칙 적용
- 서비스별 필수 도메인 셋(예: Stripe의 hooks.stripe.com) 명시를 통한 3D Secure 등 핵심 기능의 무결성 보장
- WebSocket 연결을 위한 wss:// 프로토콜 명시적 정의로 실시간 채팅 등 인터랙티브 위젯의 연결성 확보
- Content-Security-Policy-Report-Only 모드 우선 적용으로 프로덕션 영향도 없는 위반 리포트 수집 및 정책 정교화
실천 포인트
1. 신규 서비스 도입 시 script-src 외 connect-src, frame-src 등 연관 Directive 필요 여부 확인
2. GTM 등 태그 매니저 사용 시 'strict-dynamic'과 Nonce 조합 적용 검토
3. 운영 환경 배포 전 Report-only 모드로 최소 1주일간 위반 로그 분석 수행
4. Browser DevTools Network 탭의 Domain 정렬을 통한 누락 도메인 전수 조사