Install
openclaw skills install @charlie-morrison/http-security-headersAnalyze HTTP security headers for any URL. Check for HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, CORS, and more. Assign A-F security grades with OWASP-aligned recommendations. Use when asked to check security headers, audit HTTP headers, scan a website for security, check HSTS/CSP configuration, grade website security posture, or review HTTP response security. Triggers on "security headers", "check headers", "HSTS", "CSP audit", "website security scan", "header analysis", "security grade".
openclaw skills install @charlie-morrison/http-security-headersAnalyze HTTP response headers for security best practices. Grade websites A-F with actionable recommendations.
python3 scripts/scan_headers.py <url>
python3 scripts/scan_headers.py <url1> <url2> <url3>
# Text (default)
python3 scripts/scan_headers.py <url>
# JSON
python3 scripts/scan_headers.py <url> --format json
# Markdown report
python3 scripts/scan_headers.py <url> --format markdown
| Header | Impact | Description |
|---|---|---|
| Strict-Transport-Security | Critical | HTTPS enforcement, preload, max-age |
| Content-Security-Policy | Critical | XSS/injection prevention, directive analysis |
| X-Frame-Options | High | Clickjacking protection |
| X-Content-Type-Options | High | MIME sniffing prevention |
| Referrer-Policy | Medium | Information leakage control |
| Permissions-Policy | Medium | Browser feature restrictions |
| X-XSS-Protection | Low | Legacy XSS filter (deprecated but checked) |
| Cross-Origin-Opener-Policy | Medium | Cross-origin isolation |
| Cross-Origin-Resource-Policy | Medium | Resource sharing control |
| Cross-Origin-Embedder-Policy | Medium | Embedding restrictions |
| Cache-Control | Medium | Sensitive data caching |
| X-Permitted-Cross-Domain-Policies | Low | Flash/PDF cross-domain |
| Clear-Site-Data | Info | Logout/session clearing |
| X-DNS-Prefetch-Control | Low | DNS prefetch control |
| Content-Type | High | Charset and MIME type |
Server header revealing version infoX-Powered-By header presentX-AspNet-Version or similar tech disclosureExit codes:
0 — Grade A or better1 — Grade B-C (warnings)2 — Grade D-F (failures)Use --min-grade B to set custom threshold:
python3 scripts/scan_headers.py https://example.com --min-grade B