跳到主要内容

安全的自动化模式

安全的 AI 自动化都让人留在写入那一刻:助手提议、人确认,默认只读、单账号可写,或 AI 起草脚本、人来执行。

这页只讲一条边界:你放手让 AI 改多少,以及靠什么拦住「改错了变成故障」。 结论很短——安全的模式都是「写入那一刻人还在环里」的模式。 这件事夜莺在一个入口上是强制的,在另外两个上要靠你自己。

三个入口,三种写入姿态​

入口能写吗模型和数据库之间隔着什么
内置助手能,一小撮每次修改都有服务端的确认卡片;创建缺信息时弹表单
/mcp打开写工具之后才能调用时什么都没有——写工具第一次调用就落库
/a2a它就是内置助手同样的确认,只是那句确认得由调用方的 Agent 发出来

有一条它们共同的性质,值得说明白:任何地方都没有删除工具。 助手的工具箱里没有,MCP 的工具清单里也没有。AI 对一条规则、一个仪表盘、 一个用户能干出的最坏的事是把它改了——所以这里「谁改的」比「谁删的」重要得多。

模式一——助手提议,你确认​

这是默认,也是首选,因为门开在服务端,不是写在提示词里等人绕过去。

覆盖的是那些修改已有对象的工具——告警规则、仪表盘、屏蔽规则、通知规则、订阅规则—— 再加上 Skill 编写。每一个都分两条腿:

  1. 提议。 工具把改动算出来,用一个一次性的 id 存下,不落库。 这一轮以一张列出「会改什么」的卡片结束,文案由工具自己写,模型软化不了它。
  2. 确认。 只有你在下一轮回复,改动才会按存下来的内容重放执行。 模型不再被问一次,所以它没法在给你看 diff 和真正写入之间偷偷改掉内容。

提案有三条边界,都是刻意的:

  • 30 分钟过期;
  • 只能确认一次——再确认一遍就找不到可执行的东西了;
  • 提议时会给对象状态按指纹留底,这期间被别人改过的话,确认会被拒绝, 而不是把别人的修改盖掉。

创建类的处理方式不同,但用意一样:创建工具缺了不该猜的信息——业务组、团队—— 它不会随便挑一个,而是返回一个下拉,等你选。

模式二——默认只读,一个账号能写​

/mcp 上没有确认卡片,所以边界得用账号和配置搭出来。有效的做法是:

  • 每个客户端一个最小权限账号、一个自己的 Token,出了事能追到具体哪个集成 (个人 Token 认证);
  • 写工具保持关闭,除非某一个客户端确实需要;即使需要,也把工具集收窄到它真用的那些, 并且把 users、roles 摘掉(安全地启用写工具);
  • 账号的业务组归属才是影响面的真正上限,因为它对读和写一视同仁 (权限继承与 RBAC)。

如果你想要的其实是「让 AI 帮我改配置」,注意内置助手已经在做这件事,而且带确认步骤。 为了同一个结果去打开 MCP 写工具,等于把这个确认换掉了。

模式三——AI 起草脚本,人来执行​

告警自愈是最想自动化、也最危险的场景,所以有必要把开源版到底做什么说准。

助手能读你的自愈脚本,也能把新脚本作为文本写出来。 它对脚本库有读权限, 并且有一个专门写脚本的内置 Skill:

帮我写一个磁盘清理的自愈脚本

自愈脚本怎么从 stdin 拿告警字段?

但它建不了脚本,也跑不了脚本。 这两件事都没有对应的工具。 把脚本存下来、在机器上执行,完全留在告警通知 → 告警自愈里, 按那边既有的管控走——见用 ibex / webhook 做告警自愈。

这个分工就是这个模式本身:模型产出一份你看得懂、审得动的方案,人来落地, 执行链路上从头到尾没有模型。

值得刻意设一下的护栏​

护栏在哪
/mcp 上写工具保持关闭——默认就是关的,别动它[HTTP.A2A] 下的 MCPEnableWriteTools
任何要写的客户端都把 users、roles 摘掉MCPToolsets
注册了 SQL 数据源就把 logs 摘掉MCPToolsets,理由见权限继承与 RBAC
宁可拒绝执行 Skill 脚本,也不要在没隔离的情况下跑[Center.Sandbox] 下的 RequireIsolation,见安装、管理与编写 Skills
别把 AI 账号放进它不该看的业务组人员组织 → 团队管理
永远不要给 AI 账号 Admin 角色它会整个绕过业务组这一层

改了什么怎么查​

三条线索,按费劲程度排:

对象本身。 经助手或经 MCP 改过的东西,「更新人」字段里是那个操作账号的名字, 和在界面上改完全一样。列表页就能看到。

对话本身。 助手改过的东西,提案卡片和你的那句确认都留在对话记录里, 按用户存着而且不过期——所以「我到底批准了什么」几个月后还答得上来。 见 Agent 与对话历史。

日志。 每一个 /mcp 请求都记了工具名、参数和操作人;每一次 Skill 脚本执行 都记了隔离级别和退出码。细节和可以直接用的 grep 命令在 安全地启用写工具。

它不会自己做的事​

开源版里,每一个 AI 动作都由某个人在某个对话里发起。没有定时任务, 没有无人值守的执行,也没有任何工具会在被监控的机器上执行命令。 唯一会跑代码的是 Skill 脚本,它只在你发起的那一轮里被模型调用, 而且你可以直接配置成拒绝执行——还是那句,见安装、管理与编写 Skills。

下一步​