Skip to content

Security: fenwii/DeepOrigo

Security

docs/SECURITY.md

DeepOrigo Harness安全模型

信任边界

大模型输出、用户输入、仓库文件、工具结果、补丁内容和外部API全部视为不可信输入。

核心原则

  1. 计划不等于权限:动作必须经过Policy和Capability授权;
  2. 最小能力:令牌只绑定一个会话、动作、工具和范围;
  3. 默认拒绝:L7、路径逃逸、密钥路径和网络发布默认拒绝;
  4. 无Shell解释器:命令使用spawn(argv, shell:false)
  5. 结构化补丁:已有文件使用baseSha256和精确锚点,拒绝并发覆盖;
  6. 影响范围绑定:A5/D5写入必须声明impactPaths
  7. 实际可逆:文件写入生成真实恢复句柄;
  8. 执行与验证隔离:Verifier不拥有绕过Harness的执行通道;
  9. 证据防篡改:Trace哈希链和Proof HMAC检测修改;
  10. 预算约束:动作、写入和命令时间均有会话上限;
  11. 停滞保护:C5拒绝无状态变化的重复计划循环。

当前威胁覆盖

  • Prompt Injection诱导写密钥文件;
  • ../路径逃逸;
  • Shell元字符注入;
  • 未授权命令和网络安装;
  • Force push、数据库删除和基础设施销毁;
  • 篡改或跨会话重放Capability Grant;
  • Task Graph循环或失败后继续执行;
  • 整文件覆盖并发修改;
  • 补丁锚点多重匹配;
  • 写入范围与需求影响图脱节;
  • 使用build伪装为测试通过;
  • 篡改Proof Bundle后伪装为原始交付。

企业生产需要补齐

本地文件锁、JSON会话库和HMAC适合单机可信控制面。多进程、多租户生产部署需要数据库事务、分布式锁、KMS非对称签名、远程沙箱、组织身份、审计导出和集中策略决策服务。

0.4 Remote Harness安全边界

  • Remote Job采用持久化状态和排他锁原子领取;
  • Execution Lease绑定Job、Session、Action、Worker、Workspace和Policy Digest;
  • Worker心跳可续期租约,失联任务可回收;
  • 远程结果必须具有Worker Attestation;
  • Proof Bundle再次校验Worker证明和结果摘要;
  • 隔离工作树不会自动合并到基础工作区;
  • 提升需要基础工作区洁净、补丁预检和冲突检查;
  • .deeporigo状态目录不被视为用户源代码变更;
  • 非Git目录使用基础文件哈希防止并发覆盖。

HMAC适合单控制域部署。跨组织Worker或零信任部署应替换为KMS/HSM管理的非对称签名和可验证Worker身份。

0.5 Enterprise Control Plane安全边界

  • 所有控制面资源绑定tenant/project;
  • 非默认租户不能读取旧本地会话;
  • Policy Decision绑定策略摘要和动作;
  • Approval绑定策略决策、会话、动作、人数、角色和有效期;
  • 高风险动作在批准前保持waiting_approval
  • 批准后重新检查策略并重新签发Capability;
  • 控制面事件通过前向哈希链检测篡改;
  • Artifact Record绑定内容哈希、作用域、创建者和HMAC签名;
  • 商业指标与工程结果分离,默认不把推断当成观测。

文件分区和HMAC仍属于单控制域参考实现,不替代数据库RLS、IAM、WORM审计或KMS。

0.8外部事件信任边界

  • Webhook必须使用原始请求体验签,禁止对解析后JSON重新序列化再验签;
  • GitHub要求X-Hub-Signature-256
  • GitLab推荐webhook-signaturewebhook-idwebhook-timestamp
  • 消息ID被持久化为重放键;
  • GitLab时间戳必须位于配置窗口;
  • SCM外部写入默认关闭;
  • 访问Token不得进入Proof、日志、Webhook事件或模型上下文;
  • Webhook HTTP参考服务不替代TLS、WAF、速率限制、IP策略和受管Secret;
  • 手工CI证据不能替代真实SCM写入场景下的已验签平台证据;
  • 所有签名摘要使用JSON稳定规范化,避免落盘前后字段差异。

自主恢复安全边界

  • 根因置信度不等于执行授权;
  • 自动动作仅限冻结、观测和在明确策略允许时的既有安全回滚;
  • 补丁任务始终进入隔离工作树或Remote Worker;
  • SEV1/SEV2计划要求多角色审批;
  • 无候选环境真实信号时反事实验证不得通过;
  • 策略学习禁止自动降低任何安全、审批、测试、追溯或证据门槛;
  • 成果归因没有高置信实验时不得声明因果。

There aren't any published security advisories