概况
使用破坏性命令检测器来降低在AI编码工作流中意外删除的风险。检测器会评估删除文件、资源或数据的命令,并结合交互的上下文进行分析。
您可以在AI安全编码代理政策中使用检测器,以对破坏性操作发出警报或在执行前完全阻止它们。
Note: This is an Early Availability (EA) feature that is only available for limited release. For more information, contact your Cato Networks representative or send an email to ea@catonetworks.com.
了解检测器如何使用上下文
删除命令可能是计划工作流的一部分,也可能是AI代理引入的意外操作。仅靠命令并不能确定用户是否请求了它。
破坏性命令检测器结合命令模式匹配与AI分析进行评估:
- 工具调用是否执行了破坏性操作
- 操作影响哪些文件、资源或数据
- 可用的对话是否显示用户明确请求或批准了该操作
例如,删除生成的构建工件与删除包含持久数据的项目目录是不同的。类似地,询问代理诊断错误并不等同于明确授权删除。
检测器首先识别出可能有破坏性的命令,并在工具调用的上下文中审查其影响。对于识别为破坏性的命令,检测器还会检查可用的对话以确认用户授权。
当分析发现有明确请求或批准的破坏性操作时,检测器将抑制检测。隐含的意图或不清楚的授权无法提供相同的证据。
这有助于您专注于执行用户未明确请求或批准的破坏性操作的策略执行。
在 Playground 中探索检测器
在应用策略执行之前,您可以使用 Playground 探索检测器在不同交互上下文中的命令评估。
为了进行有针对性的测试,使用仅包含破坏性命令的引擎配置文件。这使得很容易将结果归因于该检测器。
在您的测试交互中包括用户的请求和建议的工具调用。将删除命令粘贴到普通对话文本中与工具调用并执行它的活动不一样。
在 Playground 中测试检测器:
- 从导航菜单中,选择AI安全 > Playground。
- 激活包含破坏性命令的引擎配置文件。
- 添加下面描述的示例交互。[插入输入会话消息和可执行工具调用的已验证程序。]
- 单击运行模拟器。
- 查看配置文件是否触发违反行为。
- 在保持建议的工具调用不变的情况下改变用户请求,然后再次运行模拟。
[插入显示交互和检测结果的屏幕截图。]
有关一般Playground工作流程的信息,请参见在Playground中测试引擎配置文件。
对比在不同上下文中的相同操作
在这个部分中,我们审查两个场景:其中一个是代码代理执行了非预期的操作,另一个是用户明确请求删除某项内容。
| 交互 | 用户请求 | 建议工具操作 |
|---|---|---|
| 意外删除 | 诊断应用程序无法加载其项目数据的原因 | 删除项目数据目录 |
| 明确请求删除 | 删除项目数据目录。不再需要它的内容 | 删除相同的目录 |
在第一次交互中,用户请求帮助清理他的git库。助手询问是否应丢弃未提交的更改,尽管得到否认,仍继续尝试执行git重置(出于测试目的,附加会话为destructive-command-unintended.json)。

在第二次交互中,用户说明了删除操作及其目标。检测器将此请求视为授权证据进行检查(出于测试目的,附加会话为destructive-command-confirmed.json)。

两种情况下建议的操作是相同的。对话提供了是否用户有意此操作的不同证据。
在实验环境中运行两次交互,并比较结果。在解释每个结果时,与用户请求一起审查操作及其目标。
在测试这些精确的交互后,添加观察到的结果。上面的比较说明了实现的决策逻辑。
将检测器添加到编码代理策略中
应用破坏性命令到您想要管理的编码代理活动。定义规则涵盖的用户、编码代理和工具,然后选择强制执行操作。
根据您的保护目标选择操作:
| 保护目标 | 策略行为 |
|---|---|
| 获取对检测到的破坏性操作的可见性 | 活动警报 |
| 阻止检测到的破坏性操作 | 阻止操作 |
| 给予用户审查建议操作的机会 | 执行前需确认 |
有关常规策略工作流程,请参阅《配置编码代理策略》。