# B站认证扩展标准托管加载实现与验证证据 ## 1. 事项与审核基线 - project:`project-info` - task:`DEV-PROJECT-INFO-BILI-AUTHENTICATED-SESSION-DOWNLOAD-20260805-001` - owner:`dev.developer.project.secondary / infodev-2` - reviewer:`dev.reviewer.project / inforev` - 实施合同:V003 + V004 + V005 + V006 - 设计结论:`PASS_0_DESIGN_IMPLEMENTATION_AUTHORIZED_OFFLINE_ONLY` - 设计审计:`DEV-AUDIT-PROJECT-INFO-BILI-AUTHENTICATED-EXTENSION-MANAGED-LOAD-V004-DESIGN-REREVIEW-20260810-001` 设计冻结快照: - V003:`17715 / 1EC7F6D8D6CD6AA9BEE5F5696D1CB578514CA3C61ADA838777093C8EFEF2C2F1` - V004:`21074 / 6E2B2AEDD2A432889ACD5314B5AD1C93B923D937E628434AE952A303A2BE8486` - V005:`7957 / 0A679BB43B64E1AC7E5CB97F650E60F82467884F9D80B737756EBCE6990D27E2` - V006:`5152 / 66C90694A3F51649D049E7400C27BC016314878DF3C2661C2F4BABE2AB8935E8` - 设计审计:`403018 / EC99806A5005447304DC6EFCB9999C6F3174A687DDBCDDCF48B143360632A07A` ## 2. 实现快照 实现根:`dev/project-dev/bili_authenticated_extension_managed_load/` | 文件 | bytes | SHA-256 | | --- | ---: | --- | | `build_webstore_upload.ps1` | 30149 | `F3B22497AB9EE5F35E53769D191B795BF784F75F808434D9C73806EB0C20C4EC` | | `install_managed_extension_policy.ps1` | 69545 | `1F8AFDBAD2FA8E9D73FF51C23ACA5F59FD12EA1B793C011A740ED6696100E681` | | `managed-load-contract.json` | 9782 | `56BEE58F540554ADEA85D323A434D2C3FD8B44643C7C00C6E2C36F247D2CCBDD` | | `README.md` | 3857 | `650670F0A31C6351CE29367C111FF322CE86DAFE02C8DF6BB2D6A4E70C91EBA8` | 四文件 ordinal canonical tree SHA-256:`1BC35E9C2973BC7A10B5F87DA63BBA4335774130F4C0A7D81F524B89FD896216`。 测试: - `dev/project-dev/test/bili_authenticated_extension_managed_load/test_managed_load.py` - `58365 / 9EDA8789B79A4C2D35EBB007FC70B2EDF392B73D0039D5BB95C1F48679C73729` 首次审核机器证据(保留不改):`dev/tmp/bili-auth-extension-managed-load-implementation-20260810/offline-evidence.json`。 HOLD/4 修复机器证据:`dev/tmp/bili-auth-extension-managed-load-implementation-20260810/hold4-repair-offline-evidence.json`。 ## 3. 首次审核与 HOLD/4 闭环 首次实现审核结论为 `HOLD/4`: - 审计:`DEV-AUDIT-PROJECT-INFO-BILI-AUTHENTICATED-EXTENSION-MANAGED-LOAD-IMPLEMENTATION-REVIEW-20260810-001` - 审计快照:`411809 / 48FEFD1CFD277139B0D94A4D72E8DACC35071CB0BB39D5B091FB2C37F34FDB50` - 结论:`IMPLEMENTATION_NOT_APPROVED_SOURCE_APPROVAL_NOT_CREATED` 限定修复如下: 1. source approval 固定到 reviewer 私有 worklog 路径;builder/installer 同时验证 V004 的两个 `{path,bytes,sha256}` 子合同,并复算实际 `dev-doc/开发审计报告.md` bytes/SHA、唯一 audit ID、当前实现 tree hash 和 exact `PASS/0`/`blocking_findings=0` 终态行。开发员自签、同树/输出树/安装树、假/旧审计、错误/缺失 path 和旧 tree 均在输出前失败。 2. 产品 PowerShell 参数面移除全部 synthetic approval、source override、file-registry、fault 和 pause seam;这些名称在生产入口均为未知参数。测试只在临时复制树中由 Python 测试文件插入内部 adapter,并重新绑定复制树及 test-only 审计/批准。 3. install approval 新增管理员批准且与 receipt/source 互不包含的 failure root。失败证据使用 CreateNew+flush,固定记录 primary/secondary error code 及其 SHA-256;stdout 只返回 evidence bytes/SHA。`E_RECEIPT`、`E_RECOVERY_AMBIGUOUS`、`E_RECOVERY_FAILED` 不再被吞并或统一压平。 4. install/rollback 14 个持久化点、recovery receipt 的 before/temp/after 三点均由真实子 PowerShell 强杀后重启验证;未知 temp 保留现场并 `E_RECEIPT`,准确 pending 按唯一前像/后像恢复,final commit 后不回滚、不自动重试。当前 Windows PowerShell 宿主不投递 `CTRL_BREAK_EVENT`,该条件测试明确 skip 且强制清理子进程;合作式 PipelineStopped 与不可捕获 kill 路径均已有非真空覆盖。 ## 4. 实现合同 1. Web Store upload builder 只读验证冻结源和 reviewer-owned source approval,生成 exact-nine deterministic ZIP 和 schema 1 receipt;输出目录必须缺省,失败时不留下正式输出。 2. overlay manifest 只新增 exact icons,扩展 ID、版本、权限、background、side panel 与 Native Messaging 合同不变。 3. source/release/install 三层批准均使用 exact schema、角色、外部 path/bytes/SHA 和阶段绑定;正式 source approval 只能在实现审核 PASS 后由 reviewer 创建。 4. 秘密门禁改为“秘密值、持久化字段和 sink”而非误杀合法 cookies 标识符;synthetic sentinel 覆盖 ZIP、receipt、stdout/stderr 和持久化状态。 5. PowerShell terminating error、PipelineStopped/Ctrl+C 和真实 kill 分别落证;命名 mutex 阻止并发恢复或写入。 6. install/rollback 使用完整 policy preimage、immutable pending、final receipt atomic rename commit point 与启动恢复矩阵;歧义状态零 registry mutation。 7. canonical policy preimage 覆盖 key existence、全部 value name/kind/raw bytes length/hash;目标值必须缺省,其他值 race 时失败关闭。 ## 5. 离线测试 目标测试: ```text python -B -m unittest discover -s dev/project-dev/test/bili_authenticated_extension_managed_load -p 'test_*.py' -v Ran 19 tests in 366.313s OK (skipped=1: Windows PowerShell host did not deliver CTRL_BREAK_EVENT) ``` 冻结原扩展回归: ```text python -B -m unittest discover -s dev/project-dev/test/bili_authenticated_extension -p test*.py Ran 33 tests in 446.198s OK (skipped=5) ``` 其余 project 回归: ```text python -B -m unittest <9 个其余 project test modules> -v Ran 163 tests in 193.301s OK (skipped=2) ``` 合计 215 项:207 PASS、8 个环境条件 skip、0 failure。所有分组均取得终态;没有访问网络、Chrome、Cookie/session、真实媒体或正式路径。 目标测试非真空覆盖:exact-nine ZIP、重复 JSON key/秘密 sentinel、新 schema 2 reviewer trust path、immutable audit section 后续 append 正例、旧 schema/旧路径拒绝、章节篡改/缺失/重复/跨 source 重签双消费者负例、开发员自签/旧审计、生产 CLI 拒绝全部 test seam、安装/健康/回滚、全注册表类型、primary+secondary failure、独立失败证据、`E_RECEIPT/E_RECOVERY_AMBIGUOUS`、14 点真实 kill/reopen、3 点 recovery receipt crash、final rename commit、并发 mutex、policy race、unknown temp/tampered pending、extra/nested/reparse 源树、PipelineStopped,以及冻结 runtime/bridge 非回退。 ## 6. 冻结对象非回退 - 原 source manifest:`3681 / 333BA59512C5F68B35C00B8C9738C8B26FB78285F05851F9F35BA3FC44819535` - 原源码树:17/17 exact;missing/extra/hash mismatch/reparse=`0/0/0/0` - 已安装 Host EXE:`21343716 / CABE09ACC0CC151B3C537F68B9AF1544D6CB5BCAF64FE3B3DB12055D52C732EE` - 已安装 Host manifest:`433 / A050B24FBFC879BEB25044D775AC43DC95F7BCDBDCCF153BF4198EF6B8E68B51` - 已安装 Host config:`1265 / 2F09B69AC9B8B82F90EB16673F71D3418AB73A94092C1785E5F697F50E6F2B50` 本次没有修改上述冻结对象。 ## 7. 外部动作与限制 - 新 schema 2 reviewer source approval:0(等待本次实现 PASS 后由 reviewer CreateNew) - 候选 ZIP:0 - Web Store upload/publish:0 - policy/HKCU write:0 - Chrome/Cookie/session:0 - network/download/real media:0 - `F:\video`、formal `ana-data`、transcription:0 因此本证据只证明离线实现、不可变审计章节锚点和回滚合同,不证明扩展已发布、已加载或真实下载可运行。下一门是原 reviewer 对 V005+V006 修复的限定实现复审;只有 `PASS/0` 且 reviewer 在新固定私有路径 CreateNew schema 2 exact source approval 后,才可能由管理员另行调度新 absent-root candidate。之后各外部门仍需独立授权和审核。 ## 8. HOLD/4 复审 PASS 与离线候选包 原 reviewer 限定复审终态=`PASS/0`,blocking findings=`0`;正式审计=`dev-doc/开发审计报告.md|417971|392A9C468FD19E422B5150043B58DCB24252A1A2C9C9203FA14B25A556CE5F4C`。reviewer-owned source approval=`ai-inforev/worklog/2026-08-10-bili-authenticated-extension-managed-load-source-approval.json|2261|F54924D29A1390538C7BBB1BB30A5F2E2FC4A7AFB7F935E1184B8C6D91D22ED0`,绑定产品 ordinal source tree=`4/B7D904E13C6629BF41CB80ED9527B43F23FD8B43240E62A3075C1D484E2FC55D` 和 payload tree=`9/1BD2276429357E84D23686C34109C0CCBAAAC0BF6CDA585204C88CAB26B54C63`。 管理员消息 `msg_20260810130843116_50e0a7cb` 仅授权一次离线候选构建。正式 absolute-path `VALIDATION_PASS_ONLY` 通过且输出仍缺省后,唯一 build attempt=`1`、retry=`0`、exit=`0`: - ZIP:`dev/tmp/bili-auth-extension-managed-load-candidate-20260810-001/project-info-bili-auth-ingress-webstore.zip|20072|96A7FA513EA136A63A15AC1654D4918F368B3D2CD195F381536C1A6B138D2E91` - receipt:`dev/tmp/bili-auth-extension-managed-load-candidate-20260810-001/webstore-upload-build-receipt.json|2165|4D90F74D7FE0DBDF197499AC48040733D1C4A885262C7B6734BC2A7F1284596F` - 输出集合:精确两个普通非 reparse 文件,目录0。 - ZIP:9 项唯一 entry、ordinal 顺序、固定 DOS 时间 `2026-08-10 00:00:00`、CRC PASS、逐项 bytes/SHA 全匹配、无加密或路径逃逸。 - manifest:version=`1.0.0`、version_name=`1.0.0+20260805.v002`、独立派生 extension ID=`oidmclckpdmpabbfedplkbdplmfcenbb`。 - secret gate:synthetic sentinel、credential header/literal、private key、signed URL 命中均为0;合法 cookies API/permission 未被误报。 机器证据=`dev/tmp/bili-auth-extension-managed-load-candidate-review-20260810-001/candidate-package-evidence.json`。该候选随后因旧 source approval 绑定整个 append-only 审计文件而进入 `HOLD/1`,现永久冻结为 `NOT_PUBLISHABLE_HISTORY`:不得修改、复用、发布或把旧 approval 当作 fallback。policy/HKCU、Chrome/session、网络、下载、真实媒体与正式路径动作继续为0。 ## 9. V005+V006 不可变审计锚点修复 V005 冻结 canonical 实现审核章节锚点;V006 另设新 schema 2 approval 路径,保留旧 schema 1 approval 的 bytes/SHA 为不可变历史。两份设计均已由原 reviewer 在同链取得 `PASS/0`,Stage A 离线实现获准,Stage B 新候选尚未获调度。 实现要点: 1. 新正式路径固定为 `ai-inforev/worklog/2026-08-10-bili-authenticated-extension-managed-load-audit-anchor-source-approval.json`;旧路径永久只读历史,builder/installer 无 fallback。 2. approval schema 固定为2;`implementation_review` 精确绑定 `audit_id/audit_path/audit_section_format/audit_section_bytes/audit_section_sha256/verdict`,不再绑定整个 append-only 审计文件长度或哈希。 3. 两个消费者从合同读取同一 `mbx-markdown-level2-section-lf-v1` 定义,复算唯一二级标题章节,并要求 exact PASS 行、task ID 与当前 source tree。 4. 章节后续 append 的 builder/installer 正例通过;旧 schema/旧路径与篡改、缺失、重复、跨 source freshly re-signed 章节均在候选输出或策略副作用前失败关闭。 冻结目标测试=`19 run / 18 PASS / 1 environment skip / 0 failure / 366.313s`。新 schema 2 正式 approval 仍不存在,新候选构建次数为0;历史候选文件未改,Web Store/policy/HKCU/Chrome/session/network/download/media/正式路径/runtime 动作均为0。 Stage A 机器证据:`dev/tmp/bili-auth-extension-managed-load-audit-anchor-repair-20260810-001/stage-a-offline-evidence.json`。 原 reviewer 限定实现复审终态=`PASS/0`、blocking findings=`0`: - 审计 ID:`DEV-AUDIT-PROJECT-INFO-BILI-AUTHENTICATED-EXTENSION-MANAGED-LOAD-IMMUTABLE-AUDIT-ANCHOR-STAGE-A-IMPLEMENTATION-REREVIEW-20260810-001` - 审计快照:`439502 / 21B348B9B875710C44D99AC6CA19BE503FEBF4107D43C92437AAAA3511AA5FC7` - canonical audit section:`4093 / FA5C924E1F98D372E5AA5EFFBA574079A30EE091D122D90684CC74C0AC774586` - schema 2 source approval:`ai-inforev/worklog/2026-08-10-bili-authenticated-extension-managed-load-audit-anchor-source-approval.json|2366|BE159EB0C4ABC211C20EEF4F11B4208F43EC384A2E3528B04492623E147D2E32` - reviewer 聚焦复验:`1/1 PASS / 33.982s`;PowerShell parser、governance PASS。 - reviewer 与开发员分别运行正式 builder `VALIDATION_PASS_ONLY`,结果均为 extension ID `oidmclckpdmpabbfedplkbdplmfcenbb`、payload entries `9`,没有输出目录或候选产物。 Stage A 至此关闭。该 PASS/approval 不授权新候选;历史 candidate/schema1 approval 继续只读冻结。Stage B 必须等待 project.admin 对新的 absent output root 作后续明确调度。 ## 10. Stage B 新候选与 release gate 终态 project.admin 通过 `msg_20260810214310133_51a87b66` 授权唯一 owner 在全新 absent/non-reparse root 执行一次离线构建。preflight 复算 source/approval/section/contract/payload 与正式 `VALIDATION_PASS_ONLY` 均通过且输出仍缺省后,执行唯一 build attempt=`1`、retry=`0`、exit=`0`: - root:`dev/tmp/bili-auth-extension-managed-load-candidate-audit-anchor-20260810-002` - ZIP:`project-info-bili-auth-ingress-webstore.zip|20072|96A7FA513EA136A63A15AC1654D4918F368B3D2CD195F381536C1A6B138D2E91` - schema 1 receipt:`webstore-upload-build-receipt.json|2165|441493BE0DC5B0AE19D4C4CAC14A93F12D9237AF6FD1FCDE654BD398698DCD7B` - 输出集合:恰好两个普通非 reparse 文件,目录0。 - receipt 精确绑定 schema2 approval=`2366/BE159E...2E32`、source tree=`4/1BC35E...6216`、canonical section=`4093/FA5C92...4586` 与 payload tree=`9/1BD227...4C63`。 - ZIP static:exact-nine、ordinal、固定 DOS 时间、CRC、逐项 bytes/SHA、安全路径、无加密、ID/version/version_name 与秘密门禁全部 PASS。 原 reviewer 通过 MB-X `msg_20260810225713797_78e0862c` 给出 `PASS/0`、blocking findings=`0`: - release gate status=`UPLOAD_READY_NOT_PUBLISHED_RELEASE_APPROVAL_ABSENT` - 审计 ID:`DEV-AUDIT-PROJECT-INFO-BILI-AUTHENTICATED-EXTENSION-MANAGED-LOAD-STAGE-B-CANDIDATE-HASH-RELEASE-GATE-REVIEW-20260810-001` - 审计快照:`443738 / 05EA16D462113B2017EEAAACD2A2B0A7335A55D736C4271CA96FD97DAE7FC154` - Web Store upload/publish evidence=`ABSENT`;reviewer release approval=`ABSENT`,没有创建或推断。 Stage B 静态身份门已关闭,但发布门仍未开启。任何 Web Store upload/publish 必须另获 project.admin 授权;release approval 仍须在 exact ID/version/publication 事实形成后由 reviewer 独立签发。历史候选/schema1 approval 继续为 `NOT_PUBLISHABLE_HISTORY`。policy/HKCU/install/enable/Chrome/Cookie/session/network/download/media/正式路径/transcription/runtime 动作均为0。