Day 19|Unbounded Consumption 的攻擊方式
上一篇提到,LLM 的 Token、Context、Reasoning 以及多模態輸入,都可能讓一次請求消耗大量資源。
那麼攻擊者可以怎麼利用這些特性?
最直接的方法,就是持續送出大量請求。
如果 Application 沒有限制單一使用者的請求數量,攻擊者就可以持續消耗 CPU、GPU、Token 或 API 額度,讓服務速度變慢,甚至影響其他正常使用者。
LLM 很多服務都是按照 Token 或運算量計費。
因此攻擊者不一定要把系統打到當機,也可以想辦法讓系統一直花錢。
例如持續產生高成本請求,最後可能讓雲端 AI API 的費用快速增加。這類攻擊就被稱為 Denial of Wallet(DoW)。
有些模型會進行較長的推理。
攻擊者可能使用看起來很普通的 Prompt,卻讓模型進入非常長的推理過程,持續消耗 Thinking Token。
這種攻擊的麻煩之處在於:
輸入本身看起來不大,但背後的計算成本可能非常高。
如果 LLM Application 是 Agent,還可以呼叫其他 Tool。
攻擊者可能讓 Agent 進入反覆呼叫工具的流程,甚至形成類似迴圈的行為。
原本一個請求,最後卻可能變成大量 Tool Call,讓 Token 與運算成本快速增加。
Unbounded Consumption 還有一個比較特別的風險:Model Extraction。
攻擊者可以大量呼叫模型 API,蒐集模型輸出,再利用這些結果建立另一個功能相近的模型。
因此,這個問題不只是「服務被用太多」,也可能涉及模型本身的智慧財產。
可以看到,Unbounded Consumption 並不只是傳統的「一直發 Request」。
從 大量請求、Denial of Wallet、Reasoning 消耗,到 Agent Tool Loop 與 Model Extraction,攻擊者都可能利用 LLM 的高成本特性造成影響。