Checkpoint web parity through Chromium input tasks
This commit is contained in:
@@ -25,13 +25,61 @@
|
||||
8. N-025-E(审计链):至多 65,536 条拒绝审计按 sequence、前项 SHA-256 与 canonical
|
||||
entry SHA-256 串联;读取时重新校验请求摘要和整条链,拒绝 requestId 重放、非递增 UTC
|
||||
时间戳、内容篡改、断链与超预算日志。该链是内存/序列化协议,不声称已持久化发布审计。
|
||||
9. M13-02A manifest gate:每个 script 必须声明 `sourceByteLength` 和 `module=false`;解析器限制
|
||||
脚本数量、总源码字节、依赖数量、权限数量与 allowlist,canonicalize 项目内 entry/dependency
|
||||
path,并拒绝重复依赖、模块执行、未知权限和所有预算溢出。Node unit 与生产 Chromium Worker
|
||||
正负例、golden report 和 artifact manifest 已绑定。
|
||||
10. M13-02B canonical signature input:`canonicalizeScriptingManifest` 与
|
||||
`serializeScriptingManifest` 是唯一规范入口,locale-independent code-unit 排序所有可重排
|
||||
数组,固定无空白 canonical JSON,unknown fields 不进入签名输入;order mutation、security
|
||||
field mutation 和 schema drift 均由 Node/Chromium 与 golden report 验证。
|
||||
11. M13-02C signer trust policy:版本化 trust policy 绑定 ED25519 key/public-key、publisher、
|
||||
active/revoked status、validity window、revocation timestamp、same-publisher rotation chain
|
||||
和 bounded clock skew;resolver 只返回 `ELIGIBLE/cryptographicVerification=REQUIRED`,不验签
|
||||
不执行,revoked/expired/mismatch/cycle/missing predecessor 全部 fail-closed。
|
||||
12. M13-02D declaration-bound signature verification:canonical per-script input 包含 source
|
||||
SHA-256 和权限/预算/路径等声明,合法 ED25519 signature 才返回 `VERIFIED`;source hash 或
|
||||
signature 变化返回 `SCRIPT_SIGNATURE_INVALID`,revoked signer 返回 `SCRIPT_POLICY_DENIED`。
|
||||
13. M13-02E permission minimization:无显式请求时授予空集;只有 manifest 已声明且请求的
|
||||
permission 才能授予,未知、重复或未声明请求稳定返回 `SCRIPT_POLICY_DENIED`。
|
||||
14. M13-02F signature negative matrix:missing/expired/not-yet-valid key、publisher confusion
|
||||
与跨脚本 signature swap 均稳定返回 `SCRIPT_POLICY_DENIED` 或 `SCRIPT_SIGNATURE_INVALID`,
|
||||
canonical ordering 不改变自身签名结果,且不开放执行入口。
|
||||
15. M13-03A sandbox scope contract:versioned scope 对 DOM、host Worker、OPFS、IndexedDB 和
|
||||
network 五项能力逐项要求 `false`;启用、缺失或未知 schema 均 fail-closed,执行仍禁用。
|
||||
16. M13-03B sandbox budget contract:CPU、wall-time、memory、message 和 output bytes 各有固定
|
||||
上限;任一超限返回 `SCRIPT_BUDGET_EXCEEDED`,不创建或启用脚本执行器。
|
||||
17. M13-03C host-call contract:仅允许五个显式调用名;每个调用使用结构化、调用专属参数,
|
||||
permission 必须来自 manifest 声明,未知字段、危险路径和未声明调用 fail-closed,解析结果
|
||||
保持 `execution=DISABLED`。
|
||||
18. M13-03D sandbox isolation:真实 Chromium Worker crash/timeout 后 job receipt 分别返回
|
||||
`SCRIPT_SANDBOX_CRASHED`/`SCRIPT_SANDBOX_TIMEOUT`,Main revision 不变,temporary/published
|
||||
资源归零;终止后的迟到结果返回 `SCRIPT_SANDBOX_LATE_RESULT`,执行仍为 `DISABLED`。
|
||||
19. M13-03E cancellation gate:取消 receipt 保持 Main revision 和 execution 状态,真实 Chromium
|
||||
迟到窗口 `lateMessages=0`、`cacheWrites=0`,伪造迟到结果稳定返回 `SCRIPT_SANDBOX_LATE_RESULT`。
|
||||
20. M13-03F dispose gate:真实 Chromium Worker 释放两端 `MessagePort`、timer、AbortController、
|
||||
transferable buffer、pending request 和 cache reference;首次和重复 dispose 均返回零资源,
|
||||
且迟到 timer 消息为 0。
|
||||
21. M13-03G same-session recovery:Worker generation 4->5 后 Main revision/source hash/manifest hash
|
||||
保持不变;两条 default-deny audit entry 的 request ID、sequence 和 previous hash chain 连续,
|
||||
replay/source tamper 均返回 `SCRIPT_MANIFEST_INVALID`。
|
||||
22. M13-04A server job directory gate:每个 job 获得随机 `0700` one-shot directory,request ID 不
|
||||
进入目录名;成功/失败清理后无残留且重复清理幂等。
|
||||
23. M13-04B source/output isolation:source directory/file 为 `0555/0444`,真实写入返回 `EACCES`;
|
||||
output directory 为 `0700` 且可写,清理会先恢复 source directory 权限并无残留。
|
||||
24. M13-04C server resource budget:CPU、memory、process、file、wall 和 output 六类限制有固定
|
||||
上限;每类超限均返回 `SERVER_JOB_BUDGET_EXCEEDED`,bounded receipt 标记 `enforced=true`,
|
||||
执行仍为 `DISABLED`。
|
||||
25. M13-04D server network policy:默认 network `DENY`;显式声明的 HTTPS/loopback origin 才可
|
||||
`ALLOWED`,missing/undeclared/unsafe origin 均为 `SERVER_NETWORK_DENIED`。
|
||||
|
||||
## 仍然阻断
|
||||
|
||||
- N-025-B/C:签名验证密钥管理、无网络 CPython/native sandbox、server Blender job 和
|
||||
output hash 提交。
|
||||
- N-025-D/E:真实 GPU/native window/file watcher 适配、恶意脚本/依赖混淆/逃逸/重放、
|
||||
审计日志持久化和发布门;本地请求级审计凭证已完成,不代表隔离执行完成。
|
||||
- N-025-D/E:真实 server isolation、真实 GPU/native
|
||||
window/file watcher 适配、恶意脚本/依赖混淆/逃逸/重放、审计日志持久化和发布门;本地
|
||||
请求级审计凭证与 crash/timeout receipt 已完成,不代表隔离执行完成。
|
||||
|
||||
## 验收
|
||||
|
||||
|
||||
Reference in New Issue
Block a user