# M13-05A:CSP 默认拒绝策略 - `task`: `M13-05A` - `parent`: `M13-04J` - `status`: `done` ## 目标 为部署服务器和生产构建统一声明 CSP,拒绝 inline script、eval、data script 和未声明 origin; 所有响应(包括 404)都必须携带相同策略。 ## 输入 - manifest:`tests/golden/M13-04J/manifest.json` - 部署合同:`docs/web/deployment-contract.json` - 入口与构建:`web/app/index.html`、`web/app/vite.config.ts` ## 范围 - 做:`default-src/script-src/worker-src/connect-src` same-origin 约束、`object-src/base-uri/frame-ancestors` 拒绝规则、源代码/构建产物扫描和 HTTP 响应检查。 - 不做:按资源类型拆分 Worker/WASM/font/image/media 策略;交给 M13-05B。 ## 验收 ```text npm --prefix web run test:csp-policy node tools/web/check-deployment-contract.mjs npm --prefix web run typecheck npm --prefix web run build ``` ## 产物和交接 报告和 manifest 位于 `tests/golden/M13-05A/`;下一任务由 manifest 的 `nextTask` 指向 `M13-05B`。 ## 回滚 恢复部署合同、HTTP 头、checker、报告、manifest、package 命令和状态页;将 `M13-04J` 恢复为队列尾。