安全测试

捕获、验证、恢复

每次测试一个可逆设置。保存旧值、检查结果,然后恢复。

任何写入之前

保护硬件

仅通过类型化开发者 CLI 测试已知的设置命令。每次只改一项能够恢复原状的设置。

立即停止 只要无法确定设备、供电状态、响应、回读结果或已保存的值,就立即停止。

测试这五种基于上游实现的配置前,请先阅读 实验性测试和诊断指南。这些类型化控制已经可用,但仍须完成以下捕获和实机验证,才能标为已验证。绝不能同时让 USBPcap 和 OpenBlade 控制同一接口。睡眠和唤醒测试必须有用户在场,并能唤醒笔记本。

使用 Synapse Observer 收集证据

Synapse Observer 是用于收集新机型证据的公开工具。它会收集设备信息,并引导用户完成一次有意的设置更改和精确恢复,无需使用终端或检出仓库。

下载 Synapse Observer创建设备支持请求

将证据 ZIP 附加到公开的设备支持问题前,请先检查其内容。收集工具本身的问题请报告到 Synapse Observer 问题跟踪器。

手动协议审核

以下步骤适用于审核 Synapse Observer 报告后仍需手动捕获的维护者。

  1. 记录当前值、目标值、预期结果和要恢复的值。每个设置或供电状态都单独捕获。
  2. 确认机型、VID/PID、BIOS、EC、MCU、HID 用途及特征报告长度。无法安全读取的版本标为不可用。不要只依赖显示名称。
  3. 停止无关操作,并设置测试所需的交流电、电池、USB-C、HDR 或显示状态。
  4. 让 USBPcapCMD 在自己的控制台进程组中运行。通过定向的 CTRL_BREAK_EVENT停止。绝不向进程组 ID 0 发送控制台控制事件。
  5. 更改一个设置并在捕获中标记该操作。记录时不要在厂商应用中打开其他页面。
  6. 确认新状态,再恢复已保存的值。结束会话前,确认恢复成功。
  7. 只比较足以说明问题的最小数据包片段。保留机型、操作、范围明确的负载、响应结构和证据检查结果;删除序列号、路径、会话数据及无关数据包。
  8. 使用明确命名的类型化命令:保存旧值、请求确认、更改一个值并检查结果,然后恢复旧值。
  9. 只有解码器测试、异常情况测试、实际应用、结果确认和状态恢复全部通过后,才能标为已验证支持。接口不得接受原始类别、ID 或负载输入。

捕获矩阵

证据必须回答的问题通过条件
设置命令差异一个界面值变化时,哪个请求发生变化?同样的变化须在另一份捕获中再次出现,且在未执行操作的时间段内不存在。
响应固件是否确认了相同事务和负载约定?封装、状态、校验和、类别、ID、长度及负载全部通过验证。
查询命令固件能否独立报告设置结果?已知状态解码为不同的值;否则应记录仅可设置或通用回读的限制。
应用笔记本的实际行为是否按预期改变?笔记本上的实际结果与类型化命令指定的目标一致。
恢复能否准确恢复原状态?恢复命令成功,且回读或观察结果与保存状态一致。
异常情况哪些情况必须拒绝?PID、机型或接口错误时必须拒绝操作。响应格式错误、值无效、组合不受支持或操作被取消时,也必须拒绝。

解码规则

从捕获到正式支持

每个阶段完成后才能进入下一阶段。

  1. 在不打开设备句柄的情况下,使用脱敏后的字节片段解码私有捕获。
  2. 添加类型化只读查询,明确定义响应约定。拒绝未知的状态、长度、选择器、保留字节和值。
  3. 保持厂商界面状态不变并重复测试,确认候选设置命令在没有更改时不会出现,或内容保持不变。
  4. 保存原状态,请用户确认具体目标,再应用一个已准入的值,读取或观察结果,最后恢复原状态。
  5. 用于正式版本前,将脱敏夹具和验证结果关联到已审核的源码。只开放明确命名的功能。

响应证据记录

将这份记录附在核心代码更改中。不要公开原始捕获和本地日志。

Model / VID:PID:
BIOS / EC / MCU:
HID usage page / usage / feature-report length:
Question and single UI action:
Power source and required preconditions:
Request class/ID and sanitized payload shape:
Expected status, class/ID, payload length and response shape:
Unknown or malformed values rejected:
Independent getter, generic readback, or one-shot-only:
Saved prior state and restoration result:
Negative controls and repeat count:
Core tests and sanitized fixture paths:
Remaining inference or unsupported variants:

私有证据的处理

旧的捕获仓库现为私有仓库,且已停用。核心代码仍需要的不可变脱敏夹具现与源码一同存放在 证据目录中;原始路径和 SHA-256 值记录在 来源索引中。旧仓库不接收新证据或支持请求。新的 Synapse Observer 证据经检查后,应通过核心仓库的设备支持问题提交。

不可公开

PCAP 文件、HID 路径、序列号、事务流、用户或计算机名称、本地路径、诊断导出、含账户数据的截图及未经审核的负载集合。

审核后发布

机型和实际观察到的 BIOS、EC、MCU 版本、用途和报告长度、操作名称、类别/ID、范围明确的负载结构、可接受的响应、回读限制、测试和恢复结果。

停止条件

审核清单

[ ] Exact model, VID/PID, BIOS, EC, MCU and HID interface documented
[ ] One action per capture and a no-op comparison available
[ ] Prior state saved and restoration verified
[ ] Request and response envelope validation implemented
[ ] Payload bounds and enum/value validation implemented
[ ] Timeout, cancellation and malformed-response tests included
[ ] Fixture contains no serial, HID path, user path or raw PCAP
[ ] Capability remains hidden when evidence is absent
[ ] No raw-command IPC or production CLI option introduced