跳到主要内容

安全管理

先决条件

  • 功能菜单:需具备 AI 工作台 / 安全运营 / 安全管理 功能菜单权限。
  • 操作权限:维护内容安全关键词、维护命令安全名单需 AI 工作台读写权限;只读权限仅支持查看。
  • 数据权限:与安全管理整体一致,按账号 / 环境 / 资源域隔离(以平台权限表为准)。

概述

安全管理是 AI 工作台的统一安全策略入口,下设两个同级子模块,分别负责不同风险面:

子模块英文名管什么主要作用时机
内容安全Content SecuritySkill / 智能体等文本内容是否合规(提示词、摘要、描述等)创作空间保存 / 发布时检测并拦截
命令安全Command SecuritySage AI、IM 渠道等场景中命令实际执行的放行 / 询问 / 拦截对话触发命令执行前判定

进入 安全运营 > 安全管理 后,可在页面内切换 内容安全 / 命令安全(同一菜单路由,子模块并列)。两者互不替代:内容合规解决「写进资源的文字」,命令安全解决「真正跑起来的命令」。

平台提示语(内容安全):系统对 Skill 和智能体文本进行关键词检测,命中将在保存时自动拦截(具体提示以界面为准)。

平台提示语(命令安全):用于管控关键命令的执行权限,为命令前缀配置匹配名单。优先级顺序:拦截名单 > 询问名单 > 放行名单 > 审批模式。未命中任何名单时,按当前审批模式处理。

image-20260821162451494


价值

  • 双轨治理:文本合规与命令执行分册管理,职责清晰。
  • 发布前拦截(内容安全):问题描述进不了生产资源与公共市场。
  • 执行前管控(命令安全):高危命令可强制拦截或人工确认,并与对话审批模式协同。
  • 可审计:策略变更与命令终态可在 审计日志 追溯。

使用场景

内容安全:维护禁用词

禁止提示词中出现破坏性指令、未授权导出等描述。在 内容安全 中添加关键词并选择匹配模式;创作者保存/发布命中时被拦截。

命令安全:管控危险命令前缀

rmkubectl delete 等写入拦截名单;将 pythonshell 等保留在询问名单(默认内置,可删)。运维在 Sage AI 中执行相关命令时按名单与审批模式处理。

与上架审核配合

内容安全在保存/发布环节拦截;已进入审核流的资源仍由 审核列表 人工处理。命令安全不替代上架审核。


内容安全

做什么

维护关键词库。系统检测 Skill、智能体的提示词、摘要、描述等文本;命中策略时在保存或发布环节拦截并提示原因,创作者需修改后重新提交。

操作步骤

  1. 进入 AI 工作台 > 安全运营 > 安全管理,切换到 内容安全
  2. 点击 添加
    • 关键词(必填,长度以界面为准,如不超过 20 字符);
    • 匹配模式
      • 精准匹配:文本与关键词一致才命中(如关键词「知识库」,「我创建知识库」命中,「我创建知识」不命中);
      • 模糊匹配:在精准基础上扩展简繁体、拼音、大小写、全半角等变体。
  3. 使用搜索框「可根据关键词、匹配模式进行过滤」。
  4. 勾选记录后 删除 并确认。

image-20260724162550872

注意事项(内容安全)

  • 策略主要影响后续保存与发布;已上架资源的合规问题可结合下架审核处理。
  • 不能替代公共市场上架的人工审核。
  • 误拦时可改为精准匹配或调整词条粒度。

命令安全

做什么

为命令前缀配置三类匹配名单,在 Sage AI、IM 渠道等实际执行命令前决定:直接拦截、必须询问(审批)、直接放行,或回落到对话里的审批模式

与内容安全的区别:

对比内容安全命令安全
对象资源文本(提示词等)待执行的命令字符串
时机保存 / 发布执行前
结果禁止写入资源拦截 / 询问 / 放行 / 跟审批模式

页面结构

命令安全
├── 说明区(优先级与未命中说明)
├── 拦截名单 [重置默认]
├── 询问名单 [重置默认]
└── 放行名单 [重置默认]

每个名单右上角有独立的 「重置默认」:仅重置该类名单的自定义规则为系统默认,三类互不影响;点击后二次确认,文案分别为:

  • 拦截名单:将清空拦截名单的自定义规则,恢复为系统默认状态,是否继续?
  • 询问名单:将清空询问名单的自定义规则,恢复为系统默认状态,是否继续?
  • 放行名单:将清空放行名单的自定义规则,恢复为系统默认状态,是否继续?

删除单条命令时统一二次确认:删除后该命令不再生效,是否确认删除?

三类名单效果

名单命中后效果
拦截名单直接拦截,不执行;任意审批模式下均拦截
询问名单必须审批,通过后才执行;任意审批模式下均须审批
放行名单直接执行,不审批;任意审批模式下均放行

说明文案:用于管控关键命令的执行权限,为命令前缀配置匹配名单。优先级顺序:拦截名单 > 询问名单 > 放行名单 > 审批模式。未命中任何名单时,按当前审批模式处理。

image-20260821162543495

与审批模式的关系

审批模式由用户在 Sage AI 对话中选择,仅当命令未命中任何名单时生效:

审批模式行为
始终审批全部须审批(含澄清意图确认)
风险审批有风险的命令须审批;澄清意图确认(仅确认意图、无实际操作,如「是否重启 prod 的 nginx?」)不审批
完全访问直接执行

决策顺序可理解为:

待执行命令
→ 命中拦截? → 拦截,结束
→ 命中询问? → 弹窗/对话确认,通过后执行
→ 命中放行? → 直接执行
→ 都未命中 → 按当前「审批模式」处理

命令匹配规则

预处理(规则保存与实际匹配时相同):

规则示例
去首尾空格kubectl getkubectl get
转小写Kubectl GETkubectl get
按空格拆成词元kubectl get podskubectl · get · pods

单条匹配(前缀整词)

规则示例
规则前 N 个词元须与命令前 N 个词元完全一致规则 cat csd 匹配 cat csd file,不匹配 cat n csd
命令词数须 ≥ 规则词数规则 kubectl delete 不匹配 kubectl
须前缀整词相等规则 cat 匹配 cat file,不匹配 category

复合命令:按 &&||;| 拆段,每段独立匹配;多段取最严结果(一段放行、一段拦截 → 整体拦截)。

名单优先级

规则示例
判定顺序:拦截 → 询问 → 放行 → 审批模式;命中前一类即停止拦截含 cat、询问含 cat n csd,命令 cat n csd直接拦截
同一名单内任一规则命中即算命中拦截含 rmkubectl delete,命中任一即拦截
跨名单比类型优先级,不比规则长短询问 cat n csd 优先于放行 cat,但拦截 cat 优先于一切

添加规则与校验

字段是否必填说明默认值校验规则
命令必填写入当前名单的命令规则见下文

|&&||;|& 的规则会按「谁、怎么连、按什么顺序」做结构理解,不能只看有没有这些符号。例如规则 curl | sh 表示拦「curl 的输出交给 sh」:curl URL | sh 会命中,curl URL | echosh | curl URL 不会。

不含上述连接符的单命令(如 rm -rfcurl $)仍按原有字符串 / 前缀规则,不走下面的结构校验。

保存失败分两层:页面即时校验(未提交)与 提交后结构校验(提示「命令规则无法编译:…」)。输入为空或不合规时,添加按钮置灰;仅校验通过后方可添加成功。

页面即时校验

你配的内容提示说明
空着不填,或与本名单已有规则重复请填写命令,同类名单内不可重复必须有内容,且同一名单内不可重复
超过 64 个字符不可超出 64 字符页面输入上限
出现允许字符以外的字符(如引号、括号、>仅支持输入字母、数字、空格、-_./: & $ |允许:字母、数字、空格、- _ . / : & $ |if ...; then(curl | sh)> file 等通常会先被页面拦住

$&| 可以输入;能否最终保存,还取决于下方结构校验。

提交后结构校验

提交后若提示 「命令规则无法编译:…」,说明系统无法按命令结构识别该规则。常见情况如下。

管道未写完
示例说明
curl |curl $ |管道右边为空,左右两段都必须有命令。对比:curl $ | curl 可保存($ 只是参数)
不支持的规则结构

名单只配「几段命令 + 中间怎么连」,不要写成脚本或括号表达式。

示例提示要点
(curl | sh){ curl | sh; }不支持的规则结构;规则本身不要加括号
if ...; then curl | sh; fifor ...; do ...; done同上;直接写 curl | sh 即可
if / for / [[ 当程序名不支持的 shell 语法
同一条规则不能混用两种连法

||&&&|| 均可单独使用,但同一条规则内不要混用

示例能否保存说明
curl | shcurl |& sh只用了一种管道
curl && shcurl || sh只用了一种逻辑连接
curl | cat |& sh不能不能混合 ||&
curl && cat || sh不能不能混合 &&||
curl & sh(中间的 &不能中间 & 表示后台,不是管道;& 只能写在整条末尾,如 curl | sh &
每一段都必须是明确的程序名

curl | sh 时,系统要能认出左边是 curl、右边是 sh。程序名须写死,不能空着、不能是变量、不能拆开写、也不能套一层「再去跑别的命令」。

示例提示要点
某一段为空规则命令缺少可执行程序
FOO=1 | sh仅有赋值、缺少可执行程序
$cmd | sh不允许动态可执行程序标识(对比:curl $ | sh 可保存)
c""url | sh不允许混淆的可执行程序标识
eval / source / . file / exec不支持动态 shell 启动器
find ... -exec ...不支持 find 的执行类动作
只有 > file 这类重定向重定向规则缺少命令

可正常保存的示例

示例说明
curl | sh合法两段管道
curl | sh &末尾 & 表示后台,与 curl | sh 不是同一条规则
curl $ | curl$ 是参数,不是程序名
curl | sh && rm管道与并且可组合
bash -c curl | sh按外层理解(bash 管道给 sh),不等于 curl | sh
rm -rfcurl $无复合连接符,仍按原字符串规则

默认规则

名单内置规则
询问名单pythonshell(允许用户删除)
拦截 / 放行以系统默认为准;「重置默认」可恢复

在 Sage AI 中因询问名单弹出确认时,界面会引导:若不需每次询问,可到 安全运营 / 安全管理 / 命令安全 的询问名单中删除对应规则。

命中详情展示

仅当命中拦截 / 询问 / 放行名单时展示,格式为 {名单类型} · {规则内容}(如 拦截名单 · cat)。出现在拦截提示、审批弹窗、直接执行提示中。未命中任何名单时不展示名单信息(走审批模式)。

与执行审计

命令执行的终态结果记入 审计日志执行审计(成功、失败、已拦截、已取消、已跳过、已超时等)。审批等待中、审批拒绝且未执行的不落库。列表可展示 命令安全规则名单类型 等字段,并支持按规则与名单类型过滤。


注意事项

  • 内容安全命令安全同级,请按治理目标分别维护,勿混用。
  • IM 渠道对话同样遵循绑定账号 / 环境 / 资源域下的内容安全与命令安全策略。
  • 维护权限应仅授予安全 / 平台治理角色。
  • 重置默认与删除规则均需二次确认,操作前请确认影响面。

延伸阅读