v1.3.8 — 🛡️ 代理网关硬边界与数据静态加密
🛡️ v1.3.7 给 SubAgent 建好了牢房,v1.3.8 给牢房配上了门禁、保险柜和录像机——Agent 的工具调用先过代理网关(权限只减不增 + 极高风险人工审批),写盘数据加密,执行副作用 WAL 日志可回滚。
🔨 核心变更
🛡️ 代理网关硬边界
- 唯一出入口:SubAgent 工具调用必经网关,四档风险分级 + 权限单调守卫(只减不增)
- 极高风险请求挂起入 HITL 审批队列(
hitl_resolve空转闭环首次激活——人工决议前请求不执行) - 网关攻击面四防:绕过防护 / DDoS 限速 / 请求伪造校验 / 日志注入防护
🔐 数据静态加密
- 审计历史落盘前透明加密(纯 TS AES-256-GCM,
SOFAGENT-AGE-V1格式,非 spawn age) - 密钥指纹强制备份确认(
--doctor检查密钥存在性 + 加解密 roundtrip 自检)
⏸️ Durable Execution L3
- WAL 三态崩溃恢复:committed 未确认→验证副作用 / aborted→回滚 / 未完成→按幂等策略
- undo 三档覆盖:可逆(git restore)/ 部分可逆 / 不可逆(
irreversible:true审计告警不回滚)
🤖 异步长任务自治
- cron 三档糖(@daily/@weekly/@monthly)展开落盘 + 依赖图前序 PASS 才触发
- 死循环检测(N 次无变化触发 replan 告警)+ 崩溃 WAL 续跑
⚙️ FORGE driver 保活三件套
- pm2 托管双 loop + resume 断点续跑(不重跑已完成 worker)+ liveness 探针(
--check-alive只认心跳)
🧩 托管 SDK sandbox:true 启用
harness.wrap三层沙箱正式接线:工具判定(tool-gate)/ 虚拟文件系统 / 网络白名单
🔻 release-gate 瘦身
--judgment-only一次直达判断层四步(省 61% token),F 循环 FAIL 即停
📊 fresh-eyes 成本重构
- usage.jsonl 逐步计量 +
_summary汇总 + B 侧复核模式 + 单次 16 视角草稿工具(视角零删减)
📸 快照写路径加固
- revert 两阶段原子化 + saveSnapshots 原子替换(中途失败原文件完整)
🔒 BugFix(上版遗留)
- 四 P0 安全修复:A1 后缀式敏感文件绕过 / A2 FFFD 短路绕过 / 安装链三重断链 / 声称断裂
- 防屎山四项:gen-* 抽公共库 + SOP 规则固化 + env.local 保险断言 + 垃圾清理
⚠️ 破坏性变更
harness.wrap的sandbox: true从报错改为启用(v1.3.7 传入会 throw,本版正式接线三层沙箱——显式传sandbox: true的调用方行为变化,未传者无感)--judgment-only为新增 CLI 参数(release-gate driver,纯增量,不影响既有--step单步模式)- MCP 工具数不变(60 tools 无增删——
hitl_resolve是激活既有空转 tool,非新增)
✅ 质量验证
| 检查项 | 结果 |
|---|---|
| npm test | 2782 tests 全绿 ✅ |
| acceptance-test | 314/314 场景全绿 ✅ |
| shellcheck | 零 error ✅ |
| check-version | 71/71 全绿 ✅ |
| 回归检查 | 91 维度 86PASS ✅ |
| release-gate | verdict=PASS(run-13)✅ |
| fresh-eyes | 16 视角审查闭环 ✅ |
📖 详细开发日志