事件响应手册
疑似的边界突破如何报告、定级、遏制、修复与披露, 按单维护者项目的规模裁剪。资产与边界见安全页面; 修复所要恢复的不变量见台账。
什么算安全事件
对安全页面所保护的某项资产的攻陷或疑似攻陷。例如:
- 在未授权的源 (origin) 上执行了页面操作, 绕过了站点白名单或确认提示;
- Cookie、存储、页面内容或 eval 返回值绕过脱敏泄露出去;
- 桥接套接字接受了未经认证的本地对端, 或主机清单的
allowed_origins被修改; - 没有在场证明就解除了紧急开关, 或放宽了策略;
page_eval或其确认通道被滥用并造成不可逆的后果。
不算事件的情况: 任何需要先攻陷整台机器的情形, 或用户自己配对的恶意 MCP 客户端 (设计上即受信任, 见范围)。
报告渠道
不要为安全问题开公开 issue。 私密渠道、一份有用的报告应包含什么, 以及可以期待什么回应, 见安全策略。
分诊
用四个问题给报告定级; 它们对应工具风险矩阵中的影响范围:
- 跨越了哪条边界? 台账中的边界 1 到 4; 边界 4, 即页面边界, 最为关键。
- 能读取或更改什么? 是否触及凭据 (Cookie 或存储中的令牌)? 是否有写入或不可逆的后果?
- 前提条件有多强? 是否要求用户已授权某个源、已安装扩展, 或存在本地同 UID 进程?
- 是否可复现? 有没有概念验证?
答案决定「立即缓解」还是「排期修复」。凭据泄露以及白名单或确认绕过是最高优先级。
立即缓解 (用户侧, 无需改代码)
在补丁就绪之前, 用户可以自行缩小影响范围:
- 启用紧急开关:
genkan kill, 或扩展的选项页。每一次工具调用都被拒绝, 每一条浏览器连接都在大约一秒内被切断; 命令及其解除由 CLI 页面负责。 - 禁用单个工具:
genkan policy restrict --disabled-tools <list>把它加入主机策略的disabledTools。该标志给出的是完整的、逗号分隔的禁用列表, 所以要保留其中已有的工具。这次写入是免费的 (没有在场提示), 因为限制只会移除能力。- 随后主机会在任何桥接流量之前, 以
ERROR_SPECS中稳定的TOOL_DISABLED代码拒绝该工具, 扩展也会在自己的边界上强制执行推送下来的策略。 - 先禁用
page_eval这类高风险工具。之后重新启用它属于放宽, 需要付出一次在终端确认之后的经签名策略写入, 这是有意为之的设计 (CLI 页面)。
- 随后主机会在任何桥接流量之前, 以
- 撤销白名单, 或关闭「所有站点」: 在选项页或弹出窗口中, 移除对受影响源的授权, 并确认
allowAllSites已关闭。移除授权同时也会撤销该源的主机权限。 - 停止扩展: 在
chrome://extensions中禁用或移除它。原生消息主机的 stdin 收到 EOF 并退出, 桥接随之被切断; 也结束 MCP 客户端会话, 让 MCP 服务器退出, 并用doctor确认 (CLI 页面)。 - 卸载主机清单:
genkan uninstall移除原生消息注册, 此后 Chrome 无法再拉起主机 (CLI 页面)。