无限制消耗实战:当一次对话拖垮整池资源

admin 2026-08-23 05:12:00 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文解析OWASPLLM10无限制消耗风险,指出其核心是通过合法高耗请求导致算力与账单失控。文章拆解算力、金钱、配额与上下文四大消耗面,提供沙箱复现方法,并给出基于速率限制、配额管理与成本监控的四层检测方案及多平台SIEM告警规则。针对误报提出降噪策略,建议通过设定递归深度、Token上限与预算硬护栏进行加固,最后梳理了LLMTop10全链路攻防图谱。 综合评分: 92 文章分类: AI安全,漏洞分析,安全运营,安全建设


cover_image

无限制消耗实战:当一次对话拖垮整池资源

原创

奋斗的小浪 奋斗的小浪

船山信安

2026年8月18日 14:56 湖南

在小说阅读器读本章

去阅读

事件速览 上篇 LLM09 讲”假话”,假话每编一句、每答一次,背后都在烧东西——算力、钱、配额、上下文窗口。这篇把账算清:OWASP LLM10 无限制消耗(Unbounded Consumption)。它和 LLM06 过度代理是两码事:LLM06 是”伸手拿权限”(动作危险),LLM10 是”无节制地用资源”(账单危险)——一个失控的 Agent 或一段精心构造的输入,能把整池算力/预算打爆,让服务变慢、账单暴涨甚至停服。下面从定性、原理、复现、检测到加固,把”资源这条线”收个尾,并给出全系列十篇的总览。

01  先把它定性:不是”被打挂了”,是”被算穷了”

传统拒绝服务(DoS)想的是”把服务器打瘫”;LLM10 想的是”把资源账单打爆”——不一定宕机,但成本失控、延迟飙升、配额耗尽

· 传统 DoS:用流量把带宽/连接打满,服务不可用。

· LLM10 无限制消耗:用”合法但极耗资源”的请求(超长上下文、递归调用、批量并发)把算力/金钱/配额耗尽,服务变慢或限流,账单异常。

所以 LLM10 的病灶不在”攻击流量大”,而在”每个请求单价高 + 没有天花板”。再叠加 LLM06 的 Agent 自治——Agent 自己递归调自己,几次就把预算烧穿。

模型不是被”打”挂的,是被”用”穷的。最贵的那次调用,可能就是一次没人拦住的递归。

02  原理:资源从哪四个口子漏出去

四个消耗面,叠在一起就形成”合法但失控”的账单:

| 消耗面 | 怎么发生 | 后果 | | — | — | — | | 算力消耗 | 超长上下文/复杂推理占满 GPU | 排队变慢,吞吐骤降 | | 金钱消耗 | 按 token 计费,长输出+递归放大 | 单日账单暴涨 | | 配额消耗 | 并发/速率无上限,额度被占满 | 其他用户被限流 | | 上下文溢出 | 输入塞爆窗口,触发截断/重试 | 反复重算,双倍烧 |

逐一拆:

1. 算力消耗:大模型推理随上下文长度近似平方级变贵。一段几千 token 的输入,比百字输入贵几十倍。

2. 金钱消耗:主流 API 按 token 计费。一个 Agent 递归调 5 次、每次吐长文,成本是指数级——一次”死循环”就能烧掉一个月预算。

3. 配额消耗:很多平台按调用次数/并发数限流。攻击者用批量并发占满配额,正常用户被挡在门外(变相 DoS)。

4. 上下文溢出:超长输入塞爆窗口,模型截断或报错后上层重试,重试又重新算——”重试风暴”把资源二次吃光。

这里要和 LLM06 划清:LLM06 是 Agent 做了危险动作(删库/发邮件),LLM10 是 Agent 无节制地消耗资源(递归/长上下文/并发)。两者常一起出现——一个失控的过度代理 Agent,既是权限风险,也是账单炸弹。

03  沙箱复现:让它”算到停不下来”

防守向复现(仅授权沙箱/自建环境):

  1. 本地起一个带工具的小 Agent,挂一个”会再调用自己”的工具(仅计数,不真做事)。

2. 递归演示:构造一句话”把上面那步再做一遍,连做 20 次”,观察 Agent 是否进入递归、调用次数与 token 消耗曲线是否指数上升。

3. 长上下文演示:投一段 8000 token 的”请总结”文本,对比百字输入的延迟与成本倍数。

4. 并发演示:用脚本并发发 50 个请求,看配额是否被占满、正常请求是否被限流。

  1. 采集”单会话 token 峰值 / 递归深度 / 并发占额比”作为阈值依据。

这一步和 LLM06 形成对照:LLM06 是”权限没闸”,LLM10 是”资源没顶”——所以它在风险地图里是运营的兜底账

你以为它在”帮你干活”,其实它在”帮你烧钱”。没设上限的 Agent,等于把信用卡交给了循环。

04  检测:在”资源”上布四道防线

资源消耗难察觉,因为单看每次请求都”合法”。只能从”额度与异常”四个角度布防:

· 速率限制(入口层):单用户/IP 单位时间请求数封顶,超即限流。

· 配额管理(账户层):按用户/应用设日/月调用与 token 上限,触顶熔断。

· 成本监控(账单层):实时盯 token 消耗与费用曲线,突变即告警。

· 异常请求模式(行为层):识别递归调用、超长上下文、突发并发,记分并阻断。

四套平台规则(覆盖 请求 / 配额 / 成本 / 行为 四类日志):

Splunk SPL:单会话 token 异常 index=llm_access sourcetype=req | stats sum(tokens) as tk by session_id | where tk > 200000 | table session_id, tk

// Sentinel KQL:递归调用深度异常 LlmToolCall | where tool==”self_invoke” | summarize depth=max(call_depth) by session_id | where depth > 5 | extend Risk=”Agent 递归失控/无限制消耗”

— Elastic ES|QL:成本曲线突变 FROM llm_cost_logs | WHERE cost_per_min > 50 | STATS cnt = COUNT(*) BY app_id

title: LLM10 单会话资源消耗越限 status: experimental logsource:   product: llm   category: access detection:   selection:     tokens: “>200000”   condition: selection level: high

05  真实事件:账单已经炸过

· 递归 Agent 烧钱:多起,开发者给 Agent 自调用权限又没深度限制,陷入循环,几小时烧掉数千美元 API 费。

· 长上下文 OOM:超大文档塞进上下文,推理服务内存打满、批量超时,其他请求被拖垮。

· 提示词占满配额:攻击者用批量长提示并发刷接口,占满平台配额,正常用户被限流(变相 DoS)。

· 账单暴涨告警:2024–2025 多起企业 AI 应用上线后单日 token 费用超预算数十倍,追溯为无限递归 + 无上限并发。

时间线很清楚:从”递归烧钱”,到”长上下文 OOM”,再到”并发占额/账单暴涨”——资源失控已是现实账。

图 | 无限制消耗真实事件时间线:递归烧钱、长上下文 OOM、并发占额、账单暴涨。

06  降噪:别把”正常高峰”当攻击

检测最容易误伤的两类正常情况:

1. 业务自然高峰:大促/报表期并发本就高,不是攻击——看”是否超出历史基线倍数 + 有无递归/超长特征”,不只看并发数。

2. 长文档合法处理:法律文书/论文总结本就长上下文,不是异常——靠”单会话 token 基线 + 重试次数”放行,不对长输入一律告警。

一句话:告警看”递归深度 + token 峰值 + 并发占额 + 成本突变”四件套同时命中,单维异常只记分。

07  加固:把”资源”戴上天花板

| 风险点 | 脆弱现状 | 加固动作 | | — | — | — | | 无速率限制 | 单点可刷爆 | 单用户/IP 速率限流,超即熔断 | | 无配额上限 | 额度被占满 | 按用户/应用设日/月 token 与调用上限 | | 无预算护栏 | 递归烧穿月预算 | 成本实时监挖 + 预算硬上限自动停服 | | 上下文无截断 | 超长输入反复重算 | 输入长度校验 + 超限截断/分块 | | Agent 可自递归 | 死循环烧钱 | 递归深度上限 + 工具调用次数封顶 |

加固的核心就一句:Agent 和资源都要有”闸”——权限有 human-in-the-loop,消耗有硬上限。LLM06 管”能不能做”,LLM10 管”能做多少”。

图 | 无限制消耗加固对照:五个风险点,左脆弱右加固。

08  结语:全系列十篇,风险地图收官

十篇连起来,OWASP LLM Top 10 的攻防全景就齐了。按”从地基到落地”串成一条链:

| 编号 | 风险 | 一句话定位 | 在链上的位置 | | — | — | — | — | | LLM01 | 提示词注入 | 敌人借模型之口说话 | 入口 | | LLM02 | 敏感信息泄露 | 模型把秘密当答案 | 软肋 | | LLM03 | 供应链投毒 | 敌人早住进模型里 | 地基 | | LLM04 | 数据/模型投毒 | 你亲手把敌人练进模型 | 喂养 | | LLM05 | 不当输出处理 | AI 的话成了攻击载荷 | 落地 | | LLM06 | 过度代理 | AI 自己伸手拿权限 | 权限 | | LLM07 | 系统提示词泄露 | 模型念出使用说明书 | 入口/暴露 | | LLM08 | 向量与嵌入弱点 | 记忆抽屉被撬开 | 记忆 | | LLM09 | 虚假信息 | 一本正经地胡说八道 | 可信 | | LLM10 | 无限制消耗 | 一次对话拖垮整池资源 | 运营账 |

攻防链:地基(LLM03)→ 喂养(LLM04)→ 入口(LLM01 / LLM07)→ 记忆(LLM08)→ 软肋(LLM02)→ 可信(LLM09)→ 落地(LLM05)→ 权限(LLM06)→ 运营账(LLM10)。十个风险不是孤岛:脏数据养歪模型,撬开的记忆喂错上下文,错上下文产出假话,假话被当真二次注入,Agent 顺手拿了权限,最后递归把资源烧穿——它们首尾相扣,才是大模型真实的安全面

这十篇,是”船山信安”AI 安全系列的第一轮收口。下一步可以往”红队实测清单””合规映射(等保/关基)””行业落地(金融/政务/医疗)”三个方向走。关注我们,把这套攻防链接到你自己的系统里。

图 | 无限制消耗四大消耗面:算力 / 金钱 / 配额 / 上下文溢出。

图 | 检测逻辑:限流 / 配额 / 成本 / 行为 四层守住资源天花板。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:船山信安 奋斗的小浪 奋斗的小浪《无限制消耗实战:当一次对话拖垮整池资源》

评论:0   参与:  0