feat: 完善堡垒机与 Agent 智能运维能力
- 支持 Windows Agent 构建、安装脚本和统一上报协议 - 增强 RDP 剪贴板、虚拟盘和文件传输能力 - 新增 AIOps 上下文工具、告警 RCA trace 落库和回放接口 - 重构 docs 模块文档并补充终端、堡垒机、监控、AI Agent 设计
This commit is contained in:
1 parent
a9513c2056
commit
e0d652d211
169 files changed
+12192
-9116
No files matched your search
@@ -0,0 +1,135 @@
|
||||
# 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 生成前审批 |
|
||||
Reference in new issue
Block a user