FirstMate:助手工作组、持久证据与交付授权
FirstMate 安全运维:合并授权、离开模式限制与公开 Relay 边界
区分流程策略与安全沙箱,保留明确合并权限,并在无人值守前理解文档承认的竞态限制。
你将学会
- 工作树和策略都不是安全沙箱
- 把合并路径的限制当作约定的一部分
- 恢复不能扩大原来的委托
开始前需要
- 理解 Git 工作树与拉取请求
- 理解终端助手和凭据权限范围
定义交付约定,检查状态与授权证据,并避免宣称未经验证的运行保证。
先看结论
- 工作树不是凭据隔离或代码执行沙箱。
- 提交合并与最终落地具有不同的时序风险。
- 公开 Relay 增加了信息披露边界。
工作树和策略都不是安全沙箱
独立工作树保护检出组织,但同一机器上的成员仍可能共享凭据、网络和系统资源。FirstMate 文档中的角色边界和 Shell 防护有实际价值,却不能把不可信仓库指令自动变成安全代码。应检查指令,并为试用配置适当的最小权限凭据。
公开 Relay 应被视为单独的发布能力。README 描述了选择启用的公开提及和完成跟进。公开渠道到来的请求不能导致密钥、私有代码或内部任务上下文出现在回复中。本次审阅没有启用 Relay,也没有发出任何公开消息。
把合并路径的限制当作约定的一部分
架构说明了现场检查、提交头绑定,以及覆盖授权读取与同步平台提交的离开记录锁,同时明确限制保证范围:预检之后队列规则或 PR 基线变化会影响时序;平台子进程也可能在持锁 Shell 退出后继续运行。这不是完全原子的分布式事务。
我们审阅的授权辅助库,为后续轮询记录某次请求的分类,并没有关闭上述全部时序窗口。持久凭据有助于归因和恢复,但不证明授权一直有效到最终落地。敏感仓库仍应在运行设计中保留有人审阅和严格的平台策略。
恢复不能扩大原来的委托
当状态缺失、过期或互相矛盾时,应保留证据并检查具体任务。不能把离开记录、卡住的终端或重启请求视为不可逆操作的通用授权。队列延迟可能只需要继续观察,不会自动授权绕过检查、删除工作树或再次提交合并。
无人值守之前,可用合成项目演练拒绝动作、远程失联和落地状态不明,并记录未知事项及下一位决策者。本次没有进行对抗性安全审计、真实合并、凭据隔离测试或恢复演练,相关建议依据的是文档声明的边界。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
限制凭据并检查仓库指令。
- 2
公开消息保持显式启用和明确内容范围。
- 3
无人值守前审阅合并时序限制。
- 4
不用破坏性恢复演练状态不明的处理。
可复制示例
{
"运行策略示例": true,
"启用Relay": false,
"人工审阅合并": true,
"落地状态未知": "先检查,再考虑重试",
"自动丢弃": false,
"已执行安全审计": false
}常见问题
合并提交与离开授权完全原子吗?
不是。架构明确记录了队列变化及存活子进程带来的时序限制。
要求重启就授权丢弃工作吗?
没有。恢复仍受原任务范围和具体批准动作约束。
资料来源
- FirstMate / README.md来源核查 2026-09-14
- FirstMate / docs/architecture.md来源核查 2026-09-14
- FirstMate / bin/fm-merge-authority-lib.sh来源核查 2026-09-14