XSS 공격을 막기 위해서 크롬 익스텐션은 Content Security Policy라는 보안 정책을 갖고 있다. 익스텐션에서 로드되거나 실행되는 컨텐츠의 범위를 제한하는 방법으로 동작하며, 블랙리스트 방식과 화이트리스트 방식을 모두 적용할 수 있다.
크롬익스텐션은 기본적으로 크롬 API와 호스트 등을 제한하는 Permission 정책이 있긴 하지만, CSP는 이보다 더 상위에 별도로 존재하는 보안 정책이다.
CSP는 manifest.json파일에 다음과 같이 정의한다.
{
"content_security_policy":"[POLICY STRING GOES HERE]"
}
CSP Default
{
"content_security_policy":"script-src 'self'; object-src 'self'"
}