Skip to content

Agent Security and Isolation Policy

PowerX 智能体安全与隔离策略规范

本文档定义 Agent 层在多租户、多插件、多智能体协作场景下的安全治理机制。 目标是确保每个 Agent(无论属于核心系统或第三方插件) 都能在安全、可控、可审计的隔离环境中运行, 防止越权访问、数据泄漏、资源滥用与代理环路攻击。


1️⃣ 设计目标

目标说明
多租户隔离每个租户的 Agent、上下文、事件、数据严格隔离
权限最小化Agent 仅能调用其授予的 Capabilities(最小授权原则)
安全沙箱限制文件系统、网络与内存访问范围
可审计可追踪所有调用链具备 trace_id 与安全审计记录
代理防护(A2A)防止恶意 Agent 形成无限代理调用链
资源与速率控制CPU、内存、QPS、并发、消息速率受配额限制

2️⃣ 安全域(Security Domain)模型

text
+--------------------------------------------------------------+
|                        PowerX Secure Runtime                 |
|--------------------------------------------------------------|
|  Tenant Domain                                               |
|   ├── Agent Domains (per plugin / per agent)                 |
|   │     ├── Sandbox (FS/Net/Env)                             |
|   │     ├── Capability Grants                                |
|   │     ├── Token Scope                                      |
|   │     ├── Resource Quota                                   |
|   │     └── Trace Context                                    |
|   └── Shared Services (Registry / Router / Gateway APIs)     |
+--------------------------------------------------------------+
级别隔离对象说明
Tenant Level数据、Schema、EventBus Topic、Token不同租户间完全隔离
Plugin Level插件侧 Agent 代码、端口、配置文件独立配置命名空间
Agent Level内部上下文、缓存、沙箱、调用链每个 Agent 独立运行空间

3️⃣ 权限与授权体系

3.1 Capability Grant 模型

yaml
grant_id: grant_a9e3
issuer: agent:sales_copilot
subject: agent:crm_helper
capabilities:
  - crm.lead.fetch
  - crm.contact.update
expires_at: 2025-12-31T00:00:00Z
constraints:
  max_calls: 1000
  time_budget_ms: 60000
  region: cn
signature: sha256:e3ad...

3.2 校验逻辑

  1. 每次 Agent 调用前,Router 检查是否存在有效 Grant;
  2. 若调用目标超出 capabilities,直接拒绝;
  3. 每次使用计数 +1,当超过 max_calls 自动吊销;
  4. 可通过 /api/v1/admin/security/tool-grants 查询与吊销。

4️⃣ 执行沙箱策略(Runtime Sandbox)

控制域策略
文件系统插件/Agent 仅能访问自身挂载目录 /data/agents/<agent_id>
网络访问白名单机制,仅能访问 Registry 注册的 Provider 地址
系统命令禁止 exec / fork / os.Process 等系统调用
环境变量局部注入,仅允许 POWERX_* 前缀变量
内存每个 Agent 限制最大 256MB 可用堆
CPUgoroutine 并发上限 + 调度优先级
持久化禁止直接访问数据库,必须通过 SDK(带租户上下文)

若插件侧 Agent 运行于独立进程,可使用 Namespace / cgroup / Firecracker microVM 实现隔离。


5️⃣ 网络与通信隔离

通信方向控制策略
PowerX → Agent仅通过受控端口(注册时动态分配)访问
Agent → PowerX必须通过 gRPC SDK / MCP SDK 进行认证调用
Agent ↔ Agent (A2A)必须通过 AgentAdaptor 通道,带 Token 与 ToolGrant
外部网络访问需声明 net_whitelistproxy,否则拒绝
流式事件仅允许向自身租户的 EventBus 主题发布

6️⃣ 资源配额与速率限制

资源策略
CPU每 Agent goroutine ≤ 100
Memory256 MB(可配置)
QPS每秒 ≤ 50 请求
并发调用数≤ 10
事件发布速率≤ 500 msg/s
调用超时默认 10s,最大不超过 60s
A2A 深度最大代理层级 ≤ 3

超限将触发降级策略:暂停 → 降采样 → 断开 → 冻结。


7️⃣ 安全日志与审计

日志类型说明
agent.invocation每次 Agent 调用记录 trace_id、grant_id、duration
agent.violation沙箱违规、资源越限、未授权调用
security.grantGrant 签发/吊销日志
audit.event系统级安全操作(如删除、禁用 Agent)

日志示例

json
{
  "ts": "2025-10-12T17:03:12Z",
  "tenant": "t001",
  "agent": "crm_helper",
  "event": "violation",
  "category": "network",
  "detail": "attempt to reach unauthorized host api.openai.com",
  "trace_id": "trc_8c91a",
  "severity": "high"
}

所有日志流入 EventBus → security.* 主题,可由 Admin Console 订阅。


8️⃣ 防护机制与检测

风险防护机制
恶意 Agent 自调用循环检测 trace 栈深度 + 限制 A2A depth
越权调用Grant 校验失败即拒绝
敏感数据外泄输出脱敏规则(masking)
高频调用攻击Token + QPS 限流
日志注入攻击日志内容转义 + schema 验证
插件反注册攻击注册时强制签名校验
冒名注册Agent 注册需签名 + 证书链(AgentID + 公钥)

9️⃣ 加密与密钥管理

类型方案
JWT TokenHS256 / RS256 签发,短期有效
ToolGrant 签名RS256(与 Capability Grant 统一)
Agent 证书ECDSA keypair per Agent
传输层加密HTTPS / gRPC over TLS
存储加密Secrets in Vault / KMS
Token 刷新机制短期凭证(TTL 15min),需自动续签

🔟 威胁建模与响应

威胁类别场景响应策略
注入攻击插件上传恶意二进制构建期扫描 + 签名验证
反向访问Agent 访问宿主 FS沙箱 + cgroup 阻断
拒绝服务循环代理调用耗尽资源限速 + Trace 检测
数据泄漏Agent 输出敏感字段Masking Policy
伪造调用假冒 trace_id 调用签名校验 + trace 白名单
侧信道攻击推测租户数据schema 分离 + 不同 role 认证
高风险操作注册/吊销 Grant双因子确认 + 审计记录

11️⃣ 审计与回放(Audit & Replay)

PowerX 支持对每个 Agent 运行的全链路回放:

  • 通过 /api/v1/admin/security/audit?trace_id=xxx 可查看调用轨迹;
  • 每条事件包含输入、输出、耗时、授权、状态;
  • 可复现代理调用链、判断越权与性能异常;
  • 敏感字段由 masking_policy 控制展示级别。

12️⃣ 监控与告警

告警项阈值动作
Unauthorized call任意阻断 + 邮件告警
QPS overload连续 10s 超限自动降速
Memory > 90%60s 持续进程重启
Sandbox violation任意停止 Agent
Grant misuse多次越权吊销 Grant
A2A depth > 3立即停止代理链
Audit gap > 5min自动检测强制同步日志

13️⃣ 与其他模块关系

模块安全交互
Agent Manager管理注册、授权、生命周期与安全配置
AgentAdaptor验证 Grant 与 Token,执行安全封装
Security Layer集中验证 JWT / Grant / Scope
EventBus安全事件发布、订阅与隔离
Workflow EngineStep 调用前验证权限与租户
Router / Registry只暴露可访问 Endpoint
Plugin Manager控制插件端 Agent 的安装与沙箱配置

✅ 一句话总结

Agent Security & Isolation Policy = PowerX 智能体的“防火墙 + 审计黑匣子”。 它在多租户与多智能体协作场景下,确保所有 Agent 调用安全、边界清晰、行为可控、责任可追, 构成 PowerX 多智能体生态的安全基石。

基于 Apache 2.0 许可发布