0

安全标头分析器

从curl -I 或DevTools 的“网络”选项卡粘贴原始HTTP 响应标头,并获得分级安全审核——真正的内容安全策略语法解析器加上HSTS、X-Frame-Options、cookie 标志等,完全离线。

Buy Me a Coffee at ko-fi.com
处理中... 0%
解析标头
分析CSP
评分
完成

结果

响应标头携带了网站大部分真正的浏览器强制安全策略,但通过肉眼阅读它们很容易出错:Content-Security-Policy 乍一看很严格,但悄悄允许“不安全内联”脚本,而 Strict-Transport-Security 标头的 max-age 很短,几乎没有任何作用。该工具采用您粘贴的原始标头块(直接从curl -I、Postman 或浏览器DevTools Network 选项卡请求复制),并完全在您的浏览器中通过知名在线标头分级器使用的同一类别的检查来运行它。不会获取任何内容:无论您粘贴什么,都会被分析,这意味着它对于公共生产站点、内部临时服务器或位于防火墙后面的外部扫描仪无法到达的端点的工作方式相同。

核心是一个真正的内容安全策略语法解析器,而不是清单。标头的值以分号分割为指令,每个指令的源列表按照自己的条件进行分割和检查:如果脚本和样式相关的指令允许“unsafe-inline”或“unsafe-eval”,则标记它们,任何指令都标记为裸通配符“*”源(当通配符位于 script-src、object-src、base-uri 或 default-src 上时,具有额外的严重性),广泛的方案源,例如脚本指令上的“https:”几乎与通配符一样宽松,并且会检查整个策略是否缺少 default-src 回退以及现代浏览器忽略的已弃用指令(阻止所有混合内容、插件类型、引荐来源网址、反射 xss)。仅作为 Content-Security-Policy-Report-Only 发送的 CSP 会被识别并标记为尚未实际执行,这与完全缺失的策略不同。

除了 CSP 之外,该工具还通过解析自己的 max-age 指令来检查 Strict-Transport-Security,并将大约六个月以下的值标记为太短而无法产生有意义的效果,以及是否设置了 includeSubDomains 和预加载。 X-Content-Type-Options 必须是确切的字符串“nosniff”,否则浏览器会将其标记为忽略。检查 X-Frame-Options 是否有 DENY 或 SAMEORIGIN,但该工具还知道 CSP 帧祖先指令是点击劫持保护的现代替代品 - 如果存在,则即使旧标头本身不存在,X-Frame-Options 也会被视为已覆盖。根据有效关键字的实际列表检查 Referrer-Policy,并标记是否设置为 URL 泄漏“unsafe-url”值,检查 Permissions-Policy 是否存在,并解析找到的每个 Set-Cookie 行以获取其自己的 Secure、HttpOnly 和 SameSite 属性,包括不带 Secure 的 SameSite=None cookie 会被浏览器静默拒绝的特定规则。

每次检查都会产生三种诚实状态之一——良好、需要注意或缺失——并用简单的英语解释为什么该标头对真正的攻击(XSS、点击劫持、cookie 盗窃、协议降级)很重要,并且总体 A-F 等级是每个标头分数的透明总和,而不是黑盒分数。完整的报告可以一键复制为纯文本,以便粘贴到拉取请求、票证或安全审查中,并且由于解析完全根据粘贴的文本进行,因此该工具对于审核您自己网站的标头、在与供应商集成之前审查供应商的响应或在发布之前仔细检查配置更改同样有用。