Day 1|為什麼要了解 OWASP Top 10 for LLM Applications?
近幾年,生成式 AI 的發展速度非常快。
從 ChatGPT 開始,Large Language Model(LLM)逐漸從單純的聊天工具,變成許多人工作與生活中的一部分。寫文章、翻譯、寫程式、整理資料,甚至協助企業處理內部文件,都可以看到 LLM 的身影。
當 AI 的應用越來越廣泛,我們開始關心的不只是:
「AI 好不好用?」
也開始需要思考:
「AI 安不安全?」
這也是我這次想了解 OWASP Top 10 for LLM Applications 的主要原因。
AI 越強,真的就越安全嗎?
如果只是把 AI 當成聊天工具,可能很難感受到資安問題的重要性。
例如:
「幫我寫一篇文章。」
「幫我翻譯這段文字。」
「幫我整理這份資料。」
即使 AI 回答錯了,通常也只是重新問一次。
但如果今天 AI 開始被放進企業的應用系統,情況就不太一樣了。
例如:
使用者
↓
企業 AI 助理
↓
LLM
↓
公司內部資料
AI 可能需要讀取公司文件、搜尋資料,甚至與其他系統互動。
這時候我們就不能只問:
「AI 的答案正不正確?」
還需要問:
「AI 有沒有看到不該看的資料?」
「AI 會不會被惡意使用者影響?」
「AI 做出的事情,有沒有超過它應該擁有的權限?」
當 AI 開始接觸更多資料與系統,安全問題也會變得更加重要。
傳統資安經驗還夠用嗎?
接觸過資安的人,應該對一些常見名詞並不陌生:
SQL Injection
XSS
Authentication
Authorization
Access Control
Security Misconfiguration
這些問題到現在依然非常重要。
但是 LLM Application 有一個很特別的地方:
它大量使用自然語言作為輸入與輸出。
傳統程式通常會依照明確的規則執行:
Input
↓
程式邏輯
↓
Output
但 LLM 的運作方式不同。
我們可能會給它一段指示,再提供一些資料,讓模型根據這些內容產生結果。
這時候就會產生一個新的問題:
如果資料本身包含了惡意內容,LLM 能不能正確區分「資料」與「指令」?
這種問題就是傳統 Application Security 比較少遇到的情境。
因此,當我們開始接觸 LLM Application,就需要建立一些新的安全思維。
OWASP 為什麼值得注意?
如果有接觸過 Web Application Security,應該多少聽過 OWASP。
OWASP(Open Worldwide Application Security Project)長期關注應用程式安全,也整理了許多安全相關的指南與資料。
其中最廣為人知的就是:
OWASP Top 10。
它將 Web Application 常見的重要安全風險整理成一份容易理解的清單,讓開發者、資安人員以及其他相關人員,可以快速掌握需要注意的安全問題。
而隨著大型語言模型快速發展,LLM Application 也開始出現一些不同於傳統 Web Application 的安全風險。
因此,OWASP 也針對 LLM Application 整理相關的安全風險。
這就是:
OWASP Top 10 for LLM Applications。
為什麼我想從 OWASP Top 10 開始?
LLM Security 其實是一個非常大的領域。
如果直接搜尋「LLM Security」,很容易看到大量不同的名詞:
Prompt Injection
Data Poisoning
Supply Chain
...
第一次接觸的人很容易產生一個問題:
「到底應該先學什麼?」
因此我認為 OWASP Top 10 是一個不錯的切入點。
它至少提供了一個相對明確的學習架構。
了解這些風險,不代表一定要成為駭客
另外一個我覺得很重要的地方是:
了解 LLM Security,不代表一定要自己成為攻擊者。
就像學習 SQL Injection,不一定代表我們要去攻擊別人的網站。
了解攻擊方式的目的,是讓我們知道:
「系統為什麼會出問題?」
以及:
「如果我是開發者,我應該怎麼避免這個問題?」
因此,學習 OWASP Top 10 的價值不只是認識幾個資安名詞。
更重要的是建立一種思考方式:
看到一個 AI Application 時,我們會開始主動思考它可能有哪些安全風險。
這跟一般使用 ChatGPT 有什麼關係?
可能有人會想:
「我只是使用 ChatGPT,為什麼需要了解這些?」
其實不一定需要。
如果只是單純詢問:
「幫我解釋什麼是 TCP/IP。」
我們可能不需要了解太多 LLM Security。
但當 AI 開始處理比較敏感的內容,例如:
工作文件
公司資料
個人資料
程式碼
商業資訊
我們就會開始需要思考資料安全。
而如果未來 AI 不只是回答問題,而是可以:
查資料
↓
呼叫 API
↓
操作系統
↓
執行工作
那麼安全的重要性自然會再提高。
所以,即使不是資安從業人員,了解一些基本的 LLM Security,也有助於我們更安全地使用 AI。
這 30 天想了解什麼?
這次鐵人賽,我希望用比較入門的方式認識 OWASP Top 10 for LLM Applications。
不把它當成一份需要背起來的「十大考題」,而是希望透過每一天的閱讀與整理,慢慢了解:
LLM Application 到底有哪些值得注意的安全問題?
後面的文章會逐一介紹 OWASP Top 10 中的各項風險,再延伸思考這些問題在 Chatbot、RAG、AI Agent 等應用中的意義。
也希望透過這 30 天,讓自己對 LLM Security 建立一個比較完整的基礎概念。
生成式 AI 的發展速度可能比我們想像得還快。
以前我們可能會說:
「AI 只是幫我回答問題。」
但現在的 AI 已經逐漸開始進入工作流程,甚至與資料、系統以及各種工具產生連結。
因此,除了思考 AI 能做到什麼之外,我們也應該開始思考:
AI 可能帶來什麼新的安全問題?
這也是我開始閱讀 OWASP Top 10 for LLM Applications 的原因。
今天先從「為什麼要了解」開始。