一句話定義

Prompt Injection(提示詞注入)是攻擊者把假的指令藏進 AI 會讀到的內容裡,讓 AI 誤把那段話當成命令執行的攻擊手法。

30 秒看重點

  • 是什麼:提示詞注入是把「假命令」混進 AI 的閱讀材料裡,讓它照攻擊者的意思辦事。
  • 為什麼重要:OWASP 的 Gen AI 安全專案把它列在 LLM 應用風險清單的第一名,而且連續兩版都是第一。
  • 跟誰相關:在串 AI Agent 的工程師、把公司信箱與雲端文件開給 AI 讀的老闆,還有每天叫 AI 幫你讀網頁的一般使用者。
  • 最常見的誤解:以為這是模型的小 bug,等下一版就修好了。
  • 記住這件事就夠了:對今天的模型來說,「資料」跟「指令」走的是同一條通道,它分不出來。

Prompt Injection 到底是什麼?

Prompt Injection 是攻擊者把一段偽造的指令塞進 AI 會讀到的內容裡,騙模型把那段話當成使用者或開發者下的命令來執行,中文通稱提示詞注入。名字的骨架跟資安界的 SQL Injection 是同一家族,差別在被騙的不是資料庫,是模型。

OWASP Gen AI Security Project 在 LLM01:2025 條目裡的定義是:使用者輸入以非預期的方式改變了 LLM 的行為或輸出。這份文件還特別補了一句我覺得最關鍵的話:「這些輸入即使人類看不見也能影響模型,所以提示詞注入不需要是人類看得見或讀得懂的,只要內容會被模型解析就成立。」

白底白字、HTML 註解、藏在圖片裡的字,對你來說是一片空白,對模型來說是一行清清楚楚的指令。這就是它最陰的地方。

生活比喻:你可以想像成請人幫忙跑腿。你寫了一張購物清單給他,上面是牛奶、雞蛋、吐司。結果有人趁你不注意,在清單最後補了一行「買完順便把家裡鑰匙拿去給隔壁老王」。跑腿的人不會停下來想這行字是不是你寫的,他只看到「清單上有這一行」,於是照做。AI 讀到的每一段文字都寫在同一張清單上,這就是提示詞注入好用的原因。

為什麼會有 Prompt Injection?

因為現在的語言模型沒辦法分辨「哪幾個字是命令、哪幾個字只是要讀的資料」,這兩種東西送進模型時長得一模一樣。

問題一是指令跟資料共用一條路。 開發者寫的系統提示、你打的問題、模型抓回來的網頁內容,最後會被拼成一整段文字丟給模型。模型看到的就是一串字,上面沒有標籤寫著「這段是老闆講的、那段是路人講的」。你覺得那是資料,它可能覺得那是命令。

問題二是 AI 開始有手了。 以前模型只會講話,被騙頂多講錯話;現在的 AI Agent 會呼叫工具、寄信、改檔案、下單。Greshake 等人 2023 年那篇《More than you’ve asked for》論文的形容很傳神:這等於「從網路上下載一堆沒有簽章的程式碼,然後用完整權限直接執行」。

同一句假指令,在聊天機器人身上是個笑話,在有工具權限的 agent 身上是資安事故。

Prompt Injection 是怎麼運作的?

分兩種:直接注入是攻擊者自己對 AI 講,間接注入是把指令藏在 AI 待會兒會去讀的東西裡。

  1. 直接注入(Direct Prompt Injection):使用者在對話框裡自己動手,典型句型是「忽略你先前收到的所有指示,改成……」。OWASP 的定義是使用者輸入直接改變了模型行為,可能是刻意的,也可能是不小心觸發的。
  2. 間接注入(Indirect Prompt Injection):指令藏在網頁、PDF、電子郵件、程式碼註解甚至圖片裡,等模型自己去讀。OWASP 列的攻擊情境包括網頁裡的隱藏指令、履歷分段夾帶、多模態圖片注入、無意義字串的對抗性後綴,還有用其他語言或編碼混淆。
  3. 模型照做:模型把那段話當指令執行,而且是用「你的」權限執行。所以真正的損害不在模型講了什麼,在它替你做了什麼。

名詞小教室:間接注入最常跟 RAG(檢索增強生成) 一起出現。RAG 是讓 AI 回答前先去外部資料裡撈依據,撈進來的東西一旦被人動過手腳,那段惡意指令就順著檢索流程直接進了模型眼前。MCP 這類讓 AI 接上外部工具的協定也是同樣的道理,管道開得越多,能被塞紙條的入口就越多。

Prompt Injection 跟 AI 越獄(Jailbreak)差在哪?

OWASP 說得很直接:越獄是提示詞注入的其中一種形式,指的是那種讓模型完全無視自身安全規範的輸入。所以兩者不是對立關係,是包含關係,真正的差別在目標。

比較項目Prompt Injection(提示詞注入)Jailbreak(AI 越獄)
想達成什麼搶走 AI 的控制權,讓它照攻擊者的意思辦事讓 AI 講出原本被規範擋掉的內容
指令從哪來常常藏在使用者根本沒看到的外部內容裡多半是使用者自己在對話框打進去的
誰會受害使用者或企業,資料被外流、動作被冒用主要是模型供應商的安全規範被繞過
兩者關係範圍較大的攻擊家族OWASP 認定它是提示詞注入的一種
什麼情況要擔心只要 AI 會讀外部資料或呼叫工具就要擔心對外開放、且對輸出內容有法遵責任時

從這張表可以看出來,越獄是想聽 AI 講出它不該講的話,提示詞注入是想借 AI 的手去做事。你如果正在企業裡導 AI Agent,會讓你上新聞的通常是後者。

你會在哪些 AI 工具看到 Prompt Injection?

判斷標準其實只有一條:這個工具會不會讀「不是你自己寫的內容」。會,它就在風險面上。

  • 會瀏覽網頁的聊天機器人:它讀到的每個頁面都是別人寫的,頁面上有什麼字,它就吃什麼字。
  • 讀信箱與雲端文件的辦公室助理:任何人都能寄信給你,等於任何人都能往它的閱讀清單裡投稿。
  • AI 程式助手:讀 issue、讀錯誤報告、讀 README 都算。今年 6 月資安公司 Tenet Security 揭露的 Agentjacking 攻擊就是活教材,攻擊者在錯誤追蹤平台注入偽造的錯誤報告,實測騙過主流 AI 程式助手的成功率高達 85%。平台方的回應更妙:這種攻擊「在平台層面技術上無法防禦」。翻成白話就是這鍋接不住 QQ
  • 會自己上網訂票、下單的 agent:它握著你的帳號,被騙一次的代價是真的會扣款。

如果你是工程師,這件事在 API 層就要處理。OpenAI Agents SDK 的做法是 guardrails,在 agent 前後各插一道檢查,觸發 tripwire 就直接丟例外中斷整個流程,輸入端的檢查還能設成阻塞模式,讓 agent 根本沒機會開始跑,連 Token 都不用付。想主動測自己的系統有沒有洞,NVIDIA 維護的 garak 跟微軟的 PyRIT 都是開源的紅隊工具,前者的探測項目就明確包含提示詞注入與越獄。

學 Prompt Injection 最常見的 3 個誤解

  1. 誤解一:這是 bug,下一版模型就修好了 — 真相是它是架構層面的問題,不是哪裡寫錯一行。老實講,看 OWASP 給的七項對策就知道了:限制模型行為、規定輸出格式並驗證、對輸入輸出做過濾、最小權限的 API token、高風險操作一律要人工核准、把外部內容明確標示為不可信、定期做對抗性測試。全部都叫緩解,沒有一項叫修復。
  2. 誤解二:我又不寫程式,這關我什麼事 — 真相是這類攻擊早就走出實驗室了。Google 安全團隊掃過公開網頁資料庫後發現,間接提示注入的偵測數量在 2025 年 11 月到 2026 年 2 月之間成長了 32%,手法從惡作劇、SEO 作弊到竊取資料都有。
  3. 誤解三:把「忽略先前指示」這種字串擋掉就好了 — 「那把那句話加進黑名單不就結了?」如果有這麼簡單就好了。OWASP 明講注入不需要人類讀得懂,換個編碼、換種語言、把字塞進圖片、接一串看起來像亂碼的對抗性後綴,通通算數。你擋得掉一種寫法,擋不掉一萬種。

想多了解 Prompt Injection,從哪開始?

如果你沒有技術背景:記住一條原則就夠了,不要讓同一個 AI 同時具備「看得到你的機密、讀得到外部內容、又能對外送出東西」這三種權限。OWASP 的最小權限與人工核准兩條建議,翻成白話就是這個意思。下次 agent 說它幫你處理好了,花十秒看一下它到底做了哪些動作。

如果你是工程師:直接讀 OWASP LLM01 的原文,七項對策比多數中文介紹文完整;接著拿 garak 或 PyRIT 對自己的服務跑一輪紅隊測試,看到自己的 agent 被一封信騙走,比讀十篇文章都有效(也比較痛)。


常見問題 FAQ

Prompt Injection 跟 AI 有什麼關係?

提示詞注入是專門針對大型語言模型的攻擊手法,只有在系統會把外部文字直接交給模型解讀時才成立。它利用的是模型無法區分指令與資料的特性,所以不是某一家模型的問題,而是目前這一代語言模型共通的架構弱點。

為什麼 Prompt Injection 突然這麼紅?

因為 AI 從「只會講話」變成「會動手做事」。當模型只是回答問題時,被騙的後果最多是講錯話;當它能呼叫工具、讀信箱、執行程式時,同一句假指令就變成真實的資料外洩或未授權操作。OWASP Gen AI Security Project 連續兩版把提示詞注入列為 LLM 應用的第一號風險,就是這個轉變的結果。

我不是工程師也需要懂 Prompt Injection 嗎?

需要懂概念,不需要懂實作。只要你用的 AI 工具會幫你讀網頁、讀郵件或讀別人給的檔案,你就在這個風險範圍內。實務上最有用的一條自保原則是:不要讓 AI 在無人監督的情況下,同時握有你的敏感資料存取權跟對外送出資料的能力。

Prompt Injection 的中文翻譯有沒有統一?

沒有完全統一。台灣繁體中文圈可以看到提示詞注入、提示注入、指令注入三種寫法,本站採用「提示詞注入」,因為它跟提示詞(Prompt)這個已經普及的譯法對得起來。實務上工程師之間對話幾乎都直接講英文原文 Prompt Injection,搜尋資料時用英文也找得到比較多內容。

學會 Prompt Injection 之後,下一個該學什麼?

建議先看 AI 越獄,它是提示詞注入底下最常被混用的一個子類;接著補 AI Agent 與 MCP,理解 AI 是透過哪些管道碰到外部世界的,你就會知道注入點都開在哪裡;如果想再往下追,可以看 RAG,它是間接注入最常走的那條路。


延伸閱讀


參考來源

  1. OWASP LLM01:2025 Prompt Injection(Top 10 for LLM Applications) — 官方定義、直接與間接注入的區分、越獄屬於注入的一種、九種攻擊情境與七項緩解對策。
  2. llm-security:《More than you’ve asked for》間接提示詞注入研究 — Greshake 等人 2023 年的論文與示範,以及「下載未簽章程式碼並以完整權限執行」的比喻。
  3. garak(NVIDIA 維護的 LLM 弱點掃描工具) — 開源紅隊工具的定位,以及探測項目包含提示詞注入與越獄。
  4. PyRIT(微軟開源的生成式 AI 風險識別框架) — 提供給資安人員主動找出生成式 AI 系統風險的框架定位。
  5. OpenAI Agents SDK 官方文件:Guardrails — 輸入與輸出護欄、tripwire 中斷機制,以及阻塞模式可避免 agent 執行的說明。

整理一下重點:提示詞注入真的不是模型笨,是它從架構上就分不清楚哪句是命令、哪句只是資料,而 AI 越會動手,這個弱點的代價就越大。

希望這一篇有讓你對提示詞注入有比較具體的理解哩~如果發現事實錯誤、定義不準、或翻譯卡卡的,歡迎透過聯絡頁指正,看到我們會盡快修。

我們下篇文章見囉~

本條目由 Array 報報 AI 編輯部根據上方「參考來源」整理,文末已揭露 AI 生成 + 公開資料引用。