default-srcdefault-src 는 다른 fetch 지시어가 명시되지 않았을 때 적용되는 대체(fallback) 정책을 정의합니다. script-src·style-src·img-src·font-src·connect-src 등 대부분의 리소스 로딩 지시어가 빠져 있으면 이 값을 상속받습니다. 사실상 정책 전체의 기본 바닥을 까는 핵심 지시어입니다.
값으로는 소스 표현식 목록을 받습니다. 'self'(현재 오리진), 'none'(모두 차단), 특정 호스트(https://cdn.example.com), 스킴(https:, data:, blob:), 그리고 script/style 계열에서만 의미가 있는 'unsafe-inline'·'unsafe-eval'·'nonce-...'·'sha256-...'·'strict-dynamic' 등을 조합합니다. 예컨대 default-src 'self' 만 지정하면 모든 리소스를 같은 오리진에서만 불러오도록 강제하고, 각 지시어를 개별 지정하면 그쪽이 우선하며 default-src 는 무시됩니다.
실무에서는 default-src 'self' 로 안전한 기준선을 깔고, 예외가 필요한 리소스만 개별 지시어로 열어주는 화이트리스트 패턴이 권장됩니다. 다만 default-src 를 지정했다고 모든 것이 커버되지는 않습니다. base-uri·form-action·frame-ancestors·sandbox·report-uri/report-to 는 default-src 로 폴백되지 않으므로 반드시 별도로 선언해야 합니다.
Content-Security-Policy: default-src 'self'; object-src 'none'; base-uri 'self'