diff --git a/website/README.md b/website/README.md index 20aeb12..85b488a 100644 --- a/website/README.md +++ b/website/README.md @@ -49,8 +49,13 @@ to GitHub Pages, so the official OWASP site reflects release-controlled source. Manual runs can deploy only when dispatched from `main`. GitHub Pages does not support custom response headers. The document-level -content security policy covers supported directives, but hosting-level headers -such as `frame-ancestors` require a configurable hosting edge. +content security policy in `src/layouts/Base.astro` covers only the directives +a `` policy actually enforces. `frame-ancestors` (and +`report-uri`/`report-to`, `sandbox`) are ignored in a meta policy, so +clickjacking protection is **not** in place: it needs a real +`Content-Security-Policy` or `X-Frame-Options` HTTP response header from a +configurable hosting edge. `scripts/verify-site.mjs` deliberately does not +assert `frame-ancestors` so CI never reports protection that does not exist. ## One-time maintainer setup diff --git a/website/astro.config.mjs b/website/astro.config.mjs index 545f823..f834e3e 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -6,7 +6,22 @@ export default defineConfig({ site: 'https://owasp.github.io', base: '/openshield', integrations: [sitemap()], + build: { + // Never inline hoisted } - +