用途:该技能是一个聚焦内容安全策略(CSP)违规的信号侦察器,监控团队的 $csp_violation 事件流,发现被拦截 URL 域名的新增、按指令的突发、与部署相关的页面回归以及可疑第三方脚本,仅在集群达到标准时提交报告。
主要能力:通过报告通道(scout-emit-report / scout-edit-report)直接撰写报告,按聚合集群而非单条弱信号提交;区分新被拦截域名、持续强制拦截、部署相关指令突发等模式;结合 count 与 distinct_users 判断影响范围;可读取 $csp_original_policy 还原拦截策略,并通过只读 gh 核对代码中的策略来源。
使用方式:运行中循环执行定位、探索、判定等步骤。常用读取包括 scout-scratchpad-search、scout-runs-list、scout-project-profile-get、inbox-reports-list。查询示例:SELECT domain(JSONExtractString(properties, '$csp_blocked_url')) AS blocked_domain, count() AS occurrences, uniq(person_id) AS distinct_users FROM events WHERE event = '$csp_violation' AND timestamp > now() - INTERVAL 48 HOUR GROUP BY blocked_domain。核对代码可用 gh search code --repo <owner>/<repo> 'Content-Security-Policy' --limit 10 --json path --jq '.[].path' 与 gh api repos/<owner>/<repo>/contents/<path> --jq '.content' | base64 -d。
适用场景:CSP 报告已启用且存在 $csp_violation 事件的项目;需要发现新被拦截域名、持续强制拦截、第一方域名被拦截、部署后回归等安全或配置问题。
限制:活动历史为可选,读取器不可用或拒绝访问时应停止使用该读取器,不重试、不探测绕过、不提交缺失工具报告;$csp_original_policy 为客户端上报数据,是线索而非部署配置,需与代码核对;报告端点公开,持有项目令牌者可伪造头部,reach 不能认证其真实性;若 $csp_violation 不在 top_events 或处于基线,应记录暂存并关闭。具体报告字段、状态映射、审查路由、去重规则等以运行提示中的报告通道契约为准。