You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何未配置script-src 'unsafe-inline'仍遭OWASP Zap告警?

为什么未配置unsafe-inline却收到OWASP ZAP关于script-src包含unsafe-inline的告警?

我用OWASP ZAP扫描公司Web服务器时,收到了关于script-src unsafe-inline的告警,但我明明没配置这个规则。扫描报告详情如下:

项目内容
URLhttps://product.example.com/step1.html
请求方法GET
参数content-security-policy
攻击方式-
证据frame-src 'self'; frame-ancestors 'self' https://site1.example.com https://site2.example.com; object-src 'none';
描述Content Security Policy (CSP)是一种额外的安全层,有助于检测和缓解某些类型的攻击,包括但不限于跨站脚本攻击(XSS)和数据注入攻击。这些攻击可用于数据窃取、网站篡改或恶意软件分发等多种场景。CSP提供一组标准HTTP头,允许网站所有者声明浏览器可加载的内容来源,涵盖的内容类型包括JavaScript、CSS、HTML框架、字体、图像以及Java小程序、ActiveX、音频和视频文件等嵌入式对象。
其他信息script-src includes unsafe-inline.

排查方向及原因:

  • CSP默认规则触发:如果你的CSP头里没有显式声明script-src指令,浏览器会启用默认策略——允许加载任意来源的脚本,包括内联脚本,这就等价于隐式包含了unsafe-inline。从你提供的证据来看,确实没有script-src相关配置,这是最可能的原因。
  • 多重CSP头冲突:检查服务器是否返回了多个CSP相关响应头(比如Content-Security-Policy和Content-Security-Policy-Report-Only)。多个头的规则会被合并,可能某个头里隐含了unsafe-inline,或者未声明script-src导致默认规则生效。可以通过浏览器开发者工具的「网络」面板,或者用curl命令查看完整响应头:
    curl -I https://product.example.com/step1.html
    
  • 第三方组件自动注入:如果网站使用了CMS、前端框架或第三方插件,它们可能会自动添加CSP规则,甚至为了兼容自身的内联脚本而加入unsafe-inline。比如部分老版本的CMS插件、jQuery相关组件,会为了避免兼容问题修改CSP配置。
  • 验证实际生效的CSP:打开浏览器控制台,查看「安全」面板里的CSP报告,确认实际生效的规则是否真的包含unsafe-inline。如果确实是因为未声明script-src导致的告警,只需要补充script-src规则(比如script-src 'self';)即可消除告警。

内容的提问来源于stack exchange,提问作者Kpt Stofil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 16:27:24