土法炼钢 · 系统与基础设施

【Agent 身份与安全】人机协同授权:Human-in-the-Loop

文章导航

分类入口
architecturesecurity
标签入口
#agent#human-in-the-loop#step-up-auth#approval#adaptive-auth#pam

目录

OAuth scope 与 Function Calling 策略 可以自动拒绝明显越权调用,但业务高风险操作——转账、删除生产数据、外发邮件给未知收件人——需要人确认。Human-in-the-Loop(HITL)是 Agent 授权模型的最后一层:策略引擎 say「技术上允许」,HITL say「业务上需人工点头」。


一、何时必须 HITL

操作类 示例 自动策略能否覆盖 HITL
irreversible DELETE 生产表、关闭账户 可 deny,但误 deny 影响 UX 确认后 allow
金融 转账 > 阈值 阈值规则 超阈值必须审批
外发 邮件含外部域名 DLP 可部分覆盖 首次外部收件人
特权 提权、改 IAM 应 deny by default break-glass 审批

自适应认证 交叉:风险分数高 → step-up MFA → 再执行 tool。


二、同步确认 vs 异步审批

2.1 同步确认(Blocking)

sequenceDiagram
  participant User
  participant Host as Agent Host
  participant LLM

  LLM->>Host: tool_call transfer amount=50000
  Host->>User: Modal: 确认转账?
  User->>Host: Approve + WebAuthn
  Host->>Host: 执行 transfer
  Host->>LLM: success
优点 缺点
实现简单 用户必须在线
无队列状态 长任务阻塞 Agent

适用:单笔操作、用户正在对话中。

2.2 异步审批队列

sequenceDiagram
  participant Agent
  participant Queue as Approval Queue
  participant Approver
  participant API

  Agent->>Queue: 提交 pending_action id=pa-123
  Agent->>Agent: 状态=SUSPENDED
  Approver->>Queue: Approve pa-123
  Queue->>API: 执行
  Queue->>Agent: 唤醒 + 结果
优点 缺点
Approver 不必实时在 chat 需持久化、超时、幂等
可 SOX 双人审批 Agent 状态机复杂

适用:企业工作流、非交互式 Agent。


三、Agent 状态机

stateDiagram-v2
  [*] --> Running
  Running --> PendingApproval: 高风险 tool
  PendingApproval --> Running: approved
  PendingApproval --> Cancelled: rejected / timeout
  Running --> Completed: 任务结束
  Cancelled --> [*]
  Completed --> [*]
状态 允许行为
Running 调低风险 tool
PendingApproval poll 审批状态,禁止其他写操作
Cancelled 清理 partial side effects(若可)

:Pending 期间 Agent 若继续调其他写 API——竞态越权。Host 应 全局写锁 直到审批完成。


四、Step-up 与委托 Token

HITL 批准不应只改 UI 状态——应产生 短期 elevation proof

1. 用户 WebAuthn step-up
2. IdP 发 elevation_token TTL=5min scope=transfer:approve
3. Agent Gateway 持 elevation_token 执行 transfer
4. 执行完毕 elevation_token 作废

Token Exchange 结合:actor_token 不变,Exchange 时附加 authorization_details 或自定义 claim 表示 step-up 已完成——具体 claim 以 IdP 能力为准,不编造 payload


五、超时与默认动作

策略 行为 适用
fail-closed 超时 = reject 金融、删除
fail-open 超时 = reject(同上,无 open) 不推荐 Agent 场景
escalate 超时转上级审批 企业

Agent 应告知用户:「等待审批,7200s 后自动取消」。


六、与 PAM JIT 的对照

PAM / JIT 管特权人;HITL 管 Agent 代用户 的高危操作。可共用审批 UI 和审计管道——字段增加 agent_id, delegator_id


七、实现清单


八、边界

九、双人审批 SOX

大额 transfer 顺序双 approver——Queue 状态机扩展。


十、Pending 全局写锁

PendingApproval 期间禁止其他写 tool——防竞态。


十一、Idempotency-Key

approval_id 作幂等键——防 double execution。

上一篇Function Calling 授权

下一篇MCP 架构


参考资料

  1. 自适应认证
  2. PAM 与审计
  3. NIST SP 800-63B, Authentication and Lifecycle Management(step-up 参考)

读完这篇,下一步读什么

优先读同系列或同问题的下一篇,把单篇消费变成主题集群。

2026-06-16 · architecture / security

【身份与访问控制工程】风险感知认证:设备信任、异常登录与挑战升级

MFA 是固定策略——启用后每个人每次登录都要输入验证码。风险感知认证(Adaptive/Risk-based Authentication)让认证强度随风险动态调整:从新设备、新位置触发额外验证,到持续的行为分析和会话风险评估。本文拆解风险引擎的信号模型、设备指纹的实现选型、挑战升级的 UX 设计,以及硅谷大厂的实践对比。


By .