Cisco Project Quarry:审视智能体在整个任务中做了什么
Project Quarry 通过可检查的检测规则,关联消息、工具调用与事件顺序。本文介绍 alpha 引擎、证据,以及检测和执行控制的边界。
助手读取了一个文件,稍后又发送了一次网络请求。每个动作都可能经过许可、有实际用途,而且完全正常。安全问题在于:第二个动作是否把第一个动作获取的信息,带到了绝不该去的地方?
Cisco 于 2026 年 10 月 28 日推出 Project Quarry,将其定位为面向智能体行为的开源检测语言和引擎。它不只检查单条消息,而让团队能够描述跨消息、工具调用、结果和事件顺序的模式。检测结果附带证据,帮助解释哪些活动匹配了规则。Cisco 发布文章
对于正在将智能体引入客服、编程或运营工作的团队,这是安全工具箱中的一项具体补充。本文解释 Quarry 能贡献什么、如何从本地示例开始,以及为什么检测危险序列只是控制它的一部分。公开框架目前处于 alpha 阶段,因此试点还应考虑 1.0.0 之前规则可能发生的变化。Project Quarry README,查阅于 2026 年 11 月 2 日
2010 年的一台 Cisco ASA 5510 防火墙,属于历史网络安全硬件。Quarry 是智能体行为软件,并非这台设备。摄影:Jon 'ShakataGaNai' Davis,CC BY-SA 3.0;已调整尺寸并添加留白。图片来源 · 许可证与图片说明。官方产品参考。
事件序列可以解释单个事件无法说明的事情
设想一个内部支持智能体,能够读取知识库并创建外部问题。这两种能力都有正当用途。现在,一个不可信页面要求它将内部诊断文件附到一个无关的公开问题中。只寻找“忽略之前的指令”这类措辞的规则,可能漏掉更间接的指令;只检查获准上传工具的规则,也可能无法理解为什么参数不合适。
事件序列提供了上下文。智能体读取了什么?上传之前出现了哪条指令?参数中包含什么数据?目标位置是否属于用户任务的一部分?当结构化轨迹被完整保留时,这些问题通常更容易调查。
Cisco 将 Quarry 描述为精确检查与可选模型判断的结合。精确检查可以表达工具名称、字段、字符串和顺序;模型支持的检查则可以处理需要解读的问题。集成它的产品随后决定检测结果触发什么,例如告警或阻止操作。Cisco 说明,2026 年 10 月 28 日
我们的看法是,一条好规则就是一个可以反复检验的行为问题。人们应能指出匹配的事件,并讨论规则是否表达了预期策略。这比只因模型“不喜欢这段对话”而亮起的红色警告更有用。
一个示例可疑序列:Quarry 评估轨迹并返回证据,集成应用负责如何响应。
Quarry 应与授权和内容检查配合使用
授权回答的是:某个主体是否可以对某项资源执行某个动作。内容分类器判断的是:一段输入或输出是否具有相关属性。轨迹级检测关注的是:多个事件之间如何关联。这些问题存在交集,但不会因为其中一种方式有令人信服的演示,就让其他方式变得多余。
Cisco 以 Snort、YARA 和 Sigma 为先例,说明网络、恶意软件与日志分析领域如何使用可读、可共享的检测语言。Quarry 希望将这种可检查规则的方式带到智能体活动中。Cisco 的发布动机 这一类比有助于理解设计目标,却不意味着年轻的 alpha 项目已经与这些成熟生态同样完善。
| 控制或方式 | 适合回答的问题 | 仍需承担的责任 |
|---|---|---|
| 细粒度授权 | 这个主体能否在这里执行该动作? | 定义并落实允许的访问范围 |
| 内容分类器 | 这条消息是否具有正在检查的属性? | 解读错误并关联上下文 |
| Quarry 行为规则 | 这组结构化活动是否匹配已定义模式? | 选择响应方式并维护策略 |
| Snort、YARA 和 Sigma | 如何在各自成熟领域表达检测规则? | 使用适合对应领域的控制 |
再看读取文件并上传的例子。严格授权可以在行为规则发挥作用前,阻止访问禁止读取的文件;内容检查可以识别工具结果中的可疑指令;序列规则则可将一次获准读取与不当传输联系起来。它们共同覆盖的路径,比任何单项检查都更完整。
告警需要足够证据,让人能够采取行动
基于轨迹的检测结果,其优势在于能够支持具体下一步。审查者需要知道哪些事件重要、哪个字段匹配,以及周围哪些上下文会改变解读。目标是一份可以解释的案例,而不是不断增长、没有说明的风险评分清单。
在一个示例客服流程中,有用的检测结果可以将内部文档结果与随后向未批准目标的发送联系起来。分析人员随后可以检查:用户请求是否授权了这次传输,目标是否属于该客户,以及载荷是否真的包含受保护信息。如果规则把每次文件读取之后的每次网络请求都标记出来,就会淹没有价值的案例。
精度取决于应用自己的术语。“外部”可能指组织之外、批准租户之外,或仅指某项服务之外。“敏感”可能指带标签的文档、某个来源字段,或分类结果。编写依赖这些概念的规则前,应先在集成中明确其含义。
证据本身也需要保护。轨迹可能恰好包含导致事件有风险的文件内容或凭据片段。适合安全分析人员查看的告警,不一定适合公开错误页面。应与规则一同规划访问和脱敏,而不是等第一次事故后再补上。
三种工作流让首次试点更具体
第一个示例用途,是回溯审查客服智能体会话。从一小批经过授权的数据开始,同时包含正常支持活动和一个不当传输的合成示例。用相同规则运行两者。好的试点应能解释为什么出现匹配,也能解释为什么正当工作没有被标记。
第二个用途,是检查智能体如何处理停止条件。假设任务最多允许尝试三次,之后必须升级处理。轨迹能够显示智能体是停止了、继续尝试,还是换用工具间接追求同一动作。即使每条单独消息的内容都无害,这仍是有价值的策略问题。
第三个用途是事件响应。团队发现一种新近值得关注的行为模式后,可以查询以前保留的轨迹是否也包含该模式。价值在于更快、更一致地搜索组织获准保留的历史。不过,答案质量仍取决于早期轨迹是否记录了规则需要的字段与顺序。
这些场景应先从观察模式开始。回溯检测可以在不中断用户的情况下揭示误报,也有助于估计调查负担。一条在单个合成轨迹上看似有说服力的规则,面对日常活动时可能过于宽泛。应在获得这些认识后,再决定是否用于实时干预,并明确响应负责人。
从仓库中的本地示例开始
公开仓库采用 Apache 2.0 许可证,提供 Python 和命令行接口。README 当前列出的 Python 范围为 3.11 至 3.13,快速入门基于 uv。示例配置选择了 14 条本地规则;其中四个语义示例使用确定性的关键词桩实现,明确用于演示与测试,而非生产决策。Project Quarry README
以下步骤遵循公开的设置路径,供读者自行评估时作为起点,并不表示本文已经完成部署或执行过真实扫描。
-
使用隔离的评估文件夹。 确认文档中的 Python 范围,并通过组织常规工具流程安装
uv。让评估与生产轨迹、凭据保持分离。 -
获取并准备项目。 克隆官方仓库,进入其文件夹,并同步已锁定的环境:
Bash在终端中运行git clone https://github.com/cisco-ai-defense/project-quarry.git cd project-quarry uv sync --frozen -
运行本地正常示例。 添加提供商或发送任何真实对话数据前,先使用附带配置:
Bash在终端中运行uv run --frozen quarry scan --config examples/config.yaml --target examples/data/benign.json -
检查一个发生匹配的示例。 将目标改为
examples/data/tool_calls.json,结合规则和证据一起检查。应能从事件中理解匹配,而不是因为命令打印了警告就接受结果。 -
添加一组应用专用测试。 使用相同工具术语,创建一个合成违规轨迹和一个接近边界但仍属正当的轨迹。调整规则前先写明预期结果。
-
记录版本和结果处理方式。 文档中的 CLI 约定为:完整且无匹配的扫描返回 0,完整且发生匹配返回 1,无效或未完成扫描返回 2。任何封装程序都应保留这些区别。
退出状态的区别有实际后果。资源耗尽或收到无效输入的扫描,不能被视为没有问题。监控应让未完成评估清晰可见,使团队知道是否存在覆盖缺口。
模型支持的规则会引入另一条数据边界
有些策略需要精确匹配无法提供的解读。模型可以帮助评估工具结果是否试图改变智能体方向,或某项请求操作是否超出任务范围。加入这种判断,也会增加延迟、费用、提供商行为,以及另一个可能出错的环节。
Quarry 的模型推理文档说明,模型操作可能将选定消息、工具定义和策略文本发送到配置的端点。文档建议审查提供商的数据保留、日志、传输和凭据处理方式,还介绍了扫描期限和模型调用预算,并要求适配器遵守取消与超时。Quarry 模型推理文档,查阅于 2026 年 11 月 2 日
因此,数据路径是一项设计决定。团队可以先从本地检查开始,只有收益足以支持额外处理时,再启用模型规则。使用敏感轨迹前,应明确究竟哪些字段跨越边界,以及谁有权批准配置。安全检查不应悄悄变成一条意外导出受保护数据的通道。
关键词桩实现无需真实提供商即可产生可重复结果,适合可预测的示例,但不能证明生产语义检测器的准确性。应使用带标签、与实际场景相关的用例评估真正配置的模型,其中也要包括看起来类似风险内容的普通消息。误报与漏报应在同一轮审查中处理。
生产集成必须负责处理未完成情况
集成指南要求应用在接收流量前准备并验证所选规则。它将可信的策略和适配器输入,与不可信对话分开,并要求先取得权威扫描状态,再依据匹配采取行动。Quarry 集成指南,查阅于 2026 年 11 月 2 日
这一约定在出现故障时最为重要。格式错误的对话、超时、模型不可用或规则无效,都应遵循明确的应用策略。根据操作性质,策略可以是暂停有实质影响的动作、请求审查,或报告观察未完成。如果把每个错误都当作“未发现问题”,就会制造无声的缺口。
完整且发生匹配、完整且无匹配,以及未完成评估,具有不同含义。宿主应用必须决定每一种状态如何影响用户流程。
版本变化也需要同样清晰。alpha 警告意味着未来语法变化可能要求更新规则。评估时固定版本,保留有代表性的轨迹,并在采用更新前重新运行。这让团队能够区分是策略变了,还是引擎变了。
Cisco 公告讨论了在其更广泛 AI Defense 工作中部署的情况,但公开引擎的成熟度应根据它自身文档所述状态判断。计划中的集成属于未来工作。某个生产产品使用了一个组件,并不自动意味着每位读者的应用都有受支持的生产集成方案。
智能体安全需要一个可以重新检验的问题
Quarry 最有力的思路,是把行为担忧表达得足够明确,能够再次运行检查。团队可以保留规则、版本、匹配活动,以及修改它的原因。相比争论某个智能体总体上“看起来是否安全”,这让策略审查更具体。
因此,试点的下一个问题很实际:审查者能否理解为什么正当会话通过、违规会话为什么匹配,以及评估无法完成时会发生什么?如果这些答案清楚,团队就有了决定检测应在哪些环节影响操作的基础。
来源
- Cisco:介绍 Project Quarry,2026 年 10 月 28 日。
- Project Quarry README,查阅于 2026 年 11 月 2 日。
- Quarry 应用集成指南,查阅于 2026 年 11 月 2 日。
- Quarry 模型推理指南,查阅于 2026 年 11 月 2 日。场景均用于说明,本文不声称已完成安装或生产轨迹扫描。
将规则与证据联系起来
Telli.sh 可以用于保留经授权的来源材料、评估笔记,以及工程更改背后的决策。创建笔记工作区。