Skip to content

Security Model

company edited this page Jul 31, 2026 · 1 revision

安全模型

Attacker 的安全目标不是“让 Agent 更自由地攻击”,而是在明确授权和硬边界内生成可审计的安全证据。

Target 授权

  • Target 必须由调用方显式配置;
  • 默认只接受本机、回环和私网地址;
  • 公网 Target 需要显式启用 allow_public_target=true;
  • 系统不会扫描未知资产;
  • 不会从目标响应中发现或跟随新的 endpoint;
  • Redirect 后的目标仍需重新校验。

Action allowlist

  • Planner 只能选择当前 Dataset 中已批准的 Case;
  • 不向 Planner 提供通用 Shell、文件系统或任意 HTTP;
  • 高风险 Case 未审批时不能执行;
  • 审批后仍会重新经过 Policy Gate;
  • Target、Tool、步骤、模型调用、成本和持续时间均有硬预算。

Secret 分离

  • 凭据不进入 Graph State;
  • 凭据不发送给 Planner;
  • Event、Evidence、日志、报告与 checkpoint 写入前脱敏;
  • 恢复和 Replay 时由调用方重新提供运行时凭据;
  • Durable Job 只保存 Secret 引用,不保存原始 Secret。

支持的 Secret 引用:

  • env::仅本地开发;
  • 受限 file:;
  • Vault KV v2 vault:。

Evidence 与审计

  • Finding 必须引用持久化 Evidence;
  • Evidence 不足时输出 inconclusive;
  • 报告从业务数据库重建,不依赖临时 Graph State;
  • 稳定 operation ID 防止重试产生重复副作用或 Finding。

生产门禁

生产配置会拒绝:

  • SQLite;
  • 自动建表;
  • 弱控制密钥;
  • 环境变量 Secret 引用;
  • 未签名外部装备;
  • 缺失信任根或撤销配置。

当前边界

身份平面、OIDC/JWT、完整用户体系、RBAC、跨可用区高可用、Kubernetes/Helm 和自动 Secret 轮换尚未交付。关键生产环境必须进行独立安全评审与目标环境验证。

Clone this wiki locally