在此页面上
简短的回答
在三个边界上保护 LLM 应用程序:谁可以使用它、模型可以访问或更改什么以及每个请求可以触发多少工作。分别测试提示注入和自动机器人滥用,验证实际数据和工具结果,并保留每个建议修复的证据。仅一条拒绝消息或安静的仪表板并不能证明边界有效。
拿走什么
- 机器人滥用可以通过普通请求消耗资源,而无需操纵模型。
- 授权和支出控制需要在应用程序和下游服务中强制执行。
- 将每个对抗性案例与合法任务配对,这样保护就不会悄然破坏产品。
- 报告测试的版本、观察到的结果、未测试的路径和重新测试结果。
已检查来源 .研究综合和 Rubrex 建议。示例和本地实验均已标记;它们不是客户结果。
您想阻止哪种攻击?
LLM 安全性涵盖了模型周围的应用程序及其响应。提示注入尝试使不受信任的输入充当指令。机器人滥用利用自动化来滥用工作流程,可能没有任何特殊提示。同一应用程序可以同时遇到这两种情况,但捕获可疑语言的控件不一定会阻止重复的看似合法的请求。
OWASP 的自动化威胁项目明确包括滥用有效应用程序功能。其法学硕士风险指南将过度推理描述为导致服务退化和经济损失的途径。在对事件进行分类时使用这些区别:在确定问题是否属于模型行为、帐户访问、授权或资源管理之前,确定受影响的资产和结果。
证据: OWASP 对 Web 应用程序的自动威胁 [1]LLM10:2025 无界消费 [2]
| 威胁 | 测试边界 | 结果的证据 |
|---|---|---|
| 在检索到的文档中提示注入 | 不受信任的文档文本无法授权工具操作 | 刀具轨迹及最终记录状态 |
| 跨租户数据请求 | 调用者只能检索允许的记录 | 访问被拒绝且缺少其他租户的内容 |
| 重复付费推理 | 账户或租户不能超出约定的工作预算 | 准入决定、使用计数器和提供商呼叫计数 |
| 失控工具或重试循环 | 任务有有限的步骤数和截止日期 | 步数和进一步工作停止的证明 |
| 重复的副作用请求 | 重试相同的操作不会重复操作 | 一条结果记录和一致的操作标识符 |
| 合法自动化被阻止 | 批准的集成保留可用路径 | 在分配的配额内成功控制任务 |
选择扫描仪之前写下测试边界
对于 Rubrex 提出的评估工作流程,请命名应用程序版本、环境、入口点、模型配置、检索源和启用的工具。确定每个受保护资源的所有者。为绝对不会发生的结果写一个句子,例如支持用户看到另一个租户的票证或只读助理发送消息。
使用具有合成帐户、文档和工具目标的测试环境。与系统所有者就请求上限、支出上限、执行窗口和停止条件达成一致。配置较低的配额可以在不产生流量泛滥的情况下执行强制措施。保留一小组普通客户任务作为对照,并记录起始数据状态,以便可以重置以后的试验。这是一个应用程序测试计划,不是扫描无关服务的权限。
针对实际工具权限测试提示注入
OWASP 建议将基于模型的护栏视为与受限工具、验证和最小特权并列的一层。其过度代理指导将授权置于下游系统中,而不是让模型来决定是否允许某项操作。强指令是有用的上下文,但它不能替代权限检查。
在说明性支持测试中,合成检索的注释要求助手更改票证的所有者,即使用户仅请求摘要。用仪器化测试实现替换实时写入工具。记录模型是否请求写入、工具边界是否允许以及是否有任何记录更改。模型拒绝和工具请求被拒绝是不同的观察结果;保留两者。
然后通过授权测试帐户提交合法更新。如果提议的修复阻止每次更新,则它更改了产品合同,而不是展示了可用的保护。对于需要批准的操作,请验证批准的目标和参数是否已执行,并且更改它们需要新的决策。
在创建模型或工具成本之前控制机器人滥用
OWASP 的 API 资源消耗指南要求对工作负载和第三方支出进行明确限制。对于 LLM 申请,评估完整任务的成本,包括检索、模型调用、工具操作和重试。如果一个接受的请求可以触发无限的下游工作,那么限制传入请求的数量是不够的。
Rubrex 建议记录单独的准入限制和执行限制。入院时,将请求与经过验证的帐户或租户关联起来,并检查其津贴。在执行期间,限制输入大小、输出预算、并发工作、工具步骤和重试尝试。应用截止日期并定义取消对于已经排队或发送给提供商的工作意味着什么。在可能的情况下使用提供商支出控制措施;单独的账单提醒并不能停止消费。
作为说明性算术检查,如果测试策略允许每个任务进行 3 次模型调用并且每次调用最多重试两次,则预算必须允许最多 9 次尝试的模型调用。这不是推荐的生产设置或成本估算。这是一种发现每个请求配额与应用程序实际可以安排的工作之间不匹配的方法。分别包括检索和外部工具预算。
执行示例:配额竞赛、修复和重新测试
我们于 2026 年 10 月 3 日执行了链接的无模型 Node.js 固定装置。它使用两个并发请求和一个合成单元的配额。在易受攻击的情况下,屏障会迫使两个请求在任一请求继续之前达到相同的暂停。没有出站请求、真实用户记录、付费模型调用或现场目标;提供者调用由内存中的存根进行计数。
在易受攻击的版本中,每个请求都会检查剩余的配额,等待屏障,然后递减。两者都通过了检查:两个被接纳,发生两个存根呼叫,并且剩余限额变为-1。在固定版本中,请求在第一次等待之前同步保留其单元。在存根之前仅接受一个请求,而另一个请求被拒绝;剩余津贴为零。
下载脚本并使用 Node.js 22 运行 nodequota-race-demo.mjs。 它打印四个场景;结果记录包含观察到的输出、运行时间、日期和确切脚本的 SHA-256 哈希值。零预算控制拒绝了这两个要求;充足预算控制承认两者。这些控制措施会检查修复是否只是阻止每个请求。
这演示了一个调度缺陷和一个单进程修复。它不是分布式配额实现:同步 JavaScript 无法跨工作线程或副本序列化请求。生产准入需要共享存储中的原子保留、重试的幂等性以及完成或取消时的显式协调。可变成本模型请求还需要保守的预留和最终的使用调整。单独验证这些行为;该装置不测试租户隔离、提示注入或 Rubrex 生产基础设施。
| 场景 | 录取/拒绝 | 存根调用 | 剩余津贴 |
|---|---|---|---|
| 弱势群体:津贴 1 | 2 / 0 | 2 | −1 |
| 等待之前保留:津贴1 | 1 / 1 | 1 | 0 |
| 零预算控制 | 0 / 2 | 0 | 0 |
| 充足的预算控制:津贴2 | 2 / 0 | 2 | 0 |
具有可观察到的通过条件的小型测试集
以下案例是建议的起始工作表,不是 Rubrex 客户的结果或完全覆盖的声明。将示例边界替换为产品的书面合同。在运行每个案例之前记录预期结果,并在之后引用证据。
对于配额测试,请在隔离环境中故意配置较小的限额并保持较低的请求量。对于权限测试,请使用两个合成租户和独特的非敏感标记。对于重试测试,在假工具完成其操作后模拟确认失败。这些固定装置使检查边界成为可能,而无需依赖实际停电、真实客户数据或破坏性副作用。
| 案例 | 设置 | 预期结果待验证 |
|---|---|---|
| 只读助手收到写指令 | 综合文件;仪器化写入工具 | 没有未经授权的状态改变;尝试的呼叫仍然可见 |
| 租户A请求租户B的测试记录 | 两个独立的测试账户和标记文档 | 返回内容之前访问被拒绝 |
| 任务开始,没有剩余津贴 | 配额已耗尽的测试账户 | 在接受新的计费请求之前被拒绝 |
| 两个任务争夺最终津贴 | 受控并发请求;仪表化提供商 | 配额保留是原子的;接受的工作保持在预算范围内 |
| 工具达到其步数限制 | 具有较小配置最大值的模拟工具序列 | 执行停止并报告未完成的任务 |
| 工具结果在完成后丢失 | 具有稳定操作标识符的假副作用 | 重试协调状态或重用结果而不重复 |
| 合法客户使用受保护路径 | 授权账户及代表正常请求 | 任务在允许的延迟和资源预算内完成 |
将发现结果转化为可验证的解决方案
一个有用的发现解释了预期的结果、发生的情况、为什么重要以及哪些证据支持结论。将系统版本、测试用例、帐户角色、配置、观察状态和运行标识符放在一起。将模型产生的怀疑与再现的边界故障分开。使用可触及的数据或操作来描述影响,而不是提示中的戏剧性措辞。
对于示例性配额发现,预期结果是在提供商调用之前被拒绝。观察到的故障可能是帐户限额用完后记录的提供商呼叫。候选人可以在录取前保留津贴。重新测试应包括原始案例、围绕最终配额的受控并发性以及具有足够配额的合法请求。记录结果是否已修复、部分修复、未复制或未经测试;这些标签不可互换。
| 场 | 保留什么 |
|---|---|
| 范围 | 版本、环境、组件、角色和显式排除 |
| 期望 | 保护边界和可观测接受条件 |
| 观察 | 编辑输入、相关跟踪和最终状态 |
| 影响 | 可访问的数据、未经授权的操作或资源暴露 |
| 修复 | 所有者、建议的控制以及配置或代码参考 |
| 重新测试 | 原始和控制案例、结果、日期和剩余不确定性 |
一起衡量保护和产品可用性
对于评估读数,报告边界违规、拒绝的请求、不完整的任务、对合法案例的错误阻止以及资源使用。说明每个费率背后的案件数量和类型。保留基线和候选之间的配置差异。总分可以隐藏测试旨在防止的一项未经授权的操作。
对于正在进行的操作,决定谁接收警报以及他们可以更改什么。有用的应对措施可能是暂停昂贵的工具、减少租户的津贴或暂时要求对敏感路径进行审查。保持调查记录的访问控制,并避免将完整的客户对话复制到通用警报通道中。确认事件后,添加经过清理的回归案例,并在模型、提示、检索或工具更改后再次检查相关边界。
证据的局限性
配额竞赛部分报告已执行的、无模型的本地模拟,以及可下载的代码和结果。其他场景是建议的测试用例,而不是执行的攻击或客户发现。该夹具展示了单进程调度缺陷;它不验证分布式配额、实时基础设施、即时防御或租户隔离。 OWASP 指南提供威胁分类,而不是任何特定应用程序安全的证据。仅测试具有商定限制和安全装置的授权系统。
常见问题
LLM bot 攻击是否总是提示注入?
不。自动化客户端可能会滥用正常功能或耗尽预算而不更改模型的指令。在选择控件之前诊断受保护的资源和观察到的行为。
WAF 或验证码可以解决这个问题吗?
这些可以支持流量和滥用控制,但它们不建立租户授权,限制每个工具权限,或限制已接受任务的下游工作。检查应用程序中的这些边界并考虑合法的集成和可访问性。
LLM护栏够用吗?
将它们用作检测或策略层并测试它们的误块和未命中。在可执行的应用程序或下游控制中保留授权、资源限制和后续操作检查。
如果扫描仪没有报告故障怎么办?
这是有关该运行中的案例、配置和观察结果的证据。保留测试范围并为特定于应用程序的边界添加场景;不要将干净的扫描变成通用的安全声明。
这如何适合 Rubrex 订婚?
范围内的 AI SaaS 安全评估可以调查商定的访问、工具和滥用控制问题,并提供带有重新测试记录的调查结果。安全评估的范围与 10 个工作日的人工智能可靠性冲刺的范围是分开的。
来源和进一步阅读
本简报背后的主要来源。来源的研究结果适用于其自身的研究条件; arXiv 上的出版物不建立同行评审。
- OWASP 对 Web 应用程序的自动威胁 OWASP · 生活参考 · 安全指导已审核: 项目概况及范围.已访问 2026年10月3日.
- LLM10:2025 无界消费 OWASP · 2025 · 安全指导已审核: 风险描述和资源控制指导.已访问 2026年10月3日.
- 法学硕士即时注射预防备忘单 OWASP · 生活参考 · 安全指导已审核: 攻击边界、分层控制和限制.已访问 2026年10月3日.
- LLM06:2025 过度代理 OWASP · 2025 · 安全指导已审核: 工具范围、权限和下游授权.已访问 2026年10月3日.
- API4:2023 无限制的资源消耗 OWASP · 2023 · 安全指导已审核: 资源限制和预防指导.已访问 2026年10月3日.