风险等级体系 — 审核与阻断
最后更新:2026-06-27
概述
AgentHR 采用五级风险等级体系(R0-R4)对所有 AI Agent 进行权限分级和行为约束。本页面重点说明审核阻断机制和包校验安全策略。
风险等级的完整定义和对照表见 风险等级体系(详情)。
R1-R4 快速参考
| 等级 | 名称 | 权限边界 | 典型场景 |
|---|---|---|---|
| R0 | Prompt Only | 纯文本对话,无工具调用 | 文案助手、翻译助手 |
| R1 | Read-only | 只读文件/API/数据库,无写操作 | 文档摘要、数据查询 |
| R2 | Workspace Write | 隔离工作区内读写和执行代码 | 代码生成、报告自动化 |
| R3 | External Action | 调用外部 API、发送消息,需显式授权 | 消息推送、工单处理 |
| R4 | Regulated | 金融/医疗/法律等受监管领域 | 自动交易、辅助诊断 |
R3/R4 审核阻断
在 pre-cloud 阶段(V0.4.1),R3 和 R4 风险等级的 Agent 不可被调用。这是有意设计的阻断策略,确保在缺乏完整沙箱环境、审计追踪和合规审查的情况下,高风险操作不会被执行。
阻断范围
- Agent Run API — POST /api/v1/agents/:slug/runs 对 R3/R4 Agent 返回
403 AGENT_BLOCKED - Agent 详情页 — R3/R4 Agent 显示
callable: false和阻断原因 - 下载授权 — R3/R4 Agent 不可下载
- 支付流程 — R3/R4 Agent 不可进入 checkout
阻断原因
- 缺乏完整的沙箱执行环境(容器隔离、网络策略、资源限制)
- 缺乏实时审计追踪(操作日志、变更记录、回滚能力)
- 缺乏合规审查流程(人工审核、专业监督、责任归属)
- 缺乏用户显式授权机制(逐次确认、操作预览、撤销能力)
R3/R4 Agent 仍可在目录中浏览和参考,但在上述阻断解除前不可实际调用。
Package Validation — 不执行脚本
Agent 包上传后的校验流程严格遵循以下安全策略:
✅ 校验内容(静态分析)
- 结构校验 — 检查必填文件是否存在(agent.yaml、README.md、system_prompt.md、risk_card.md)
- 元数据校验 — 验证 agent.yaml 中的必填字段、类型和格式
- 风险等级校验 — 确认 riskLevel 值在 R0-R4 范围内
- 文件大小校验 — 包总大小不超过 5 MB
- 文件类型校验 — 仅允许白名单中的文件类型
❌ 不执行的操作(安全红线)
- 不执行包内任何脚本 — 不运行 shell 脚本、Python 脚本、Node.js 脚本或其他可执行代码
- 不加载动态库 — 不加载 .so、.dylib、.dll 等动态链接库
- 不执行 system_prompt.md 中的指令 — 仅作为文本内容存储和展示
- 不解析非标准文件格式 — 仅解析 agent.yaml (YAML)、README.md (Markdown) 等明确声明的格式
- 不进行网络请求 — 校验过程不发起任何外部 HTTP/网络调用
这些限制确保 Agent 包上传不会引入远程代码执行(RCE)风险。package validation 是纯粹的静态元数据分析,不涉及任何代码执行。
风险等级与 API 行为
| 风险等级 | 可被搜索 | 详情可见 | 可被调用 | 可下载 | 可支付 |
|---|---|---|---|---|---|
| R0 | ✅ | ✅ | ✅ | ✅ | ✅ |
| R1 | ✅ | ✅ | ✅ | ✅ | ✅ |
| R2 | ✅ | ✅ | ✅ | ✅ | ✅ |
| R3 | ✅ | ✅ | ⛔ 403 | ⛔ | ⛔ |
| R4 | ✅ | ✅ | ⛔ 403 | ⛔ | ⛔ |
未来路线
当以下基础设施就绪后,R3/R4 Agent 的调用能力将逐步开放:
- 容器化沙箱环境(Docker/gVisor 隔离)
- 操作级审计日志系统
- 用户逐次授权 UI 组件
- 合规审查工作流
- 实时监控和异常告警
请关注 MVP 边界说明 了解版本演进计划。