Files
aiops/docs/ai-agent/05-安全治理与审计.md
T
Logan.Li e0d652d211 feat: 完善堡垒机与 Agent 智能运维能力
- 支持 Windows Agent 构建、安装脚本和统一上报协议

- 增强 RDP 剪贴板、虚拟盘和文件传输能力

- 新增 AIOps 上下文工具、告警 RCA trace 落库和回放接口

- 重构 docs 模块文档并补充终端、堡垒机、监控、AI Agent 设计
2026-07-05 23:49:36 +08:00

136 lines
3.8 KiB
Markdown

# 05 - 安全治理与审计
> Agent CLI 是能调用真实工具的 AI,因此安全边界必须在工具执行前、输出落库前和审计查询时同时生效。// Logan.Li
---
## 风险模型
OWASP LLM Top 10 中和 AIOps Agent CLI 最相关的是:
| 风险 | AIOps 对应点 |
|------|--------------|
| Prompt Injection | 用户输入或远程日志诱导模型绕过规则 |
| Sensitive Information Disclosure | 工具输出、日志、环境变量里含密钥 |
| Insecure Plugin Design | 工具参数过宽、权限不足、缺少校验 |
| Excessive Agency | 模型拥有过多自主执行能力 |
| Model Denial of Service | 超长日志、循环调用、昂贵模型反复请求 |
治理目标是把这些风险转成代码里的 guardrail、策略和审计。
---
## 当前安全链路
```text
工具注册最小化
→ DynamicRiskTool 评估风险
→ safety.Controller 按模式判断
→ critical 硬拒
→ high/medium 触发 WebSocket 确认
→ 执行结果落库
```
安全模式:
| 模式 | 确认阈值 |
|------|----------|
| `strict` | medium 及以上 |
| `balanced` | high 及以上,默认 |
| `permissive` | critical 仍硬拒,其他尽量放行 |
---
## WebSocket 确认
高危工具调用时:
```text
core.Agent
→ ConfirmFn
→ controller 生成 confirm_id
→ 推送 confirm 事件
→ 前端展示工具、参数、风险、目标
→ 用户批准 / 拒绝
→ controller 唤醒执行线程
```
确认不能替代审批。生产环境里,确认适合“本次操作者即时确认”,审批适合“跨角色授权和留痕”。
---
## 审计落点
当前落点:
| 表 | 内容 |
|----|------|
| `agent_cli_sessions` | 用户、目标、模型、状态、轮次、耗时、token |
| `agent_cli_messages` | 输入、思考、工具调用、工具结果、最终答案、错误 |
建议增加统一审计关联:
| 字段 | 来源 |
|------|------|
| `trace_id` | 一次 Agent run 的全链路 ID |
| `session_id` | Agent CLI 会话 |
| `user_id` | JWT 用户 |
| `target_type` | server / cluster / pod |
| `target_id` | 资产或集群 ID |
| `tool_name` | 工具名 |
| `tool_args_hash` | 参数摘要,敏感参数不明文索引 |
| `risk` | 风险等级 |
| `decision` | auto / approved / rejected / denied |
| `approval_id` | 审批单,可选 |
OpenAI Agents 的 tracing 思路也说明,生产 Agent 应能追踪 LLM 生成、工具调用、guardrail 和自定义事件。AIOps 可以用现有 DB 先实现轻量 trace。
---
## 脱敏策略
落库前必须处理:
| 类型 | 示例 |
|------|------|
| Token | `Bearer ...` |
| 密码 | `password=...`、`passwd: ...` |
| AK/SK | 云厂商访问密钥 |
| Cookie | `Cookie:`、`Set-Cookie:` |
| 私钥 | PEM 私钥块 |
| 数据库连接串 | `mysql://user:pass@host` |
| K8s Secret | base64 secret data |
脱敏应同时作用于:
1. 前端展示。
2. `agent_cli_messages`。
3. 统一审计。
4. Evolver 记忆。
---
## 策略中心
企业化阶段建议接入统一策略:
| 策略 | 示例 |
|------|------|
| 用户策略 | 普通用户只读,高级运维可确认高危 |
| 资产策略 | 生产资产 strict,测试资产 balanced |
| 命令策略 | 禁止磁盘格式化、系统级删除、批量杀进程 |
| 时间策略 | 非变更窗口禁止重启和扩缩容 |
| 审批策略 | high 风险创建审批,approved 后继续执行 |
| 数据策略 | 敏感资产输出强制脱敏,不进入 Evolver |
---
## 治理成熟度
| 阶段 | 能力 |
|------|------|
| 当前 | 动态风险、critical 硬拒、Web 确认、会话落库 |
| 可用堡垒机 | 输出脱敏、只读模式、统一审计、trace_id |
| 企业堡垒机 | 策略中心、审批流、RBAC 工具剪枝、合规留存 |
| 智能闭环 | Agent 质量评测、风险评分、自动 Runbook 生成前审批 |