跳到主要內容
CAMP 04找觀念›AI 寫好的公式和指令,可以直接貼進系統嗎?
第五架構:防禦控制與 Git 安全網|第 14 篇

AI 寫好的公式和指令,可以直接貼進系統嗎?

AI 產出的東西要不要先檢查,看的是它要去哪裡:只給人讀的,核對內容就好;要進網頁、信件、試算表的,會被軟體解讀;要交給系統執行的,等於讓一個你不認識的人替你下指令。裡面混了客戶留言、網頁這類外部資料的,再往上升一級。

2026-10-23 發布 · 2026-10-25 更新 · 作者整理:Lucas

假設你請 AI 幫忙寫幾段要貼進公司系統的東西:活動頁的公告、試算表裡要往下拉的一欄公式、一句清掉去年過期訂單的資料庫指令。它寫得很快,看起來也對,你複製、貼上、按下執行。

貼之前,多數人會想「這段寫得對不對」,比較少想「這段貼進去之後會不會自己做事」。AI 給你的是一段文字,可是文字一旦進到瀏覽器、試算表、資料庫,就會被那邊的軟體解讀:網頁會執行裡面的程式碼,試算表會照公式計算,資料庫會照指令刪資料。

站上已經有兩篇談相鄰的問題。Prompt Injection 防護談的是外部內容進到 AI 時,裡面夾帶的指令;把折扣上限寫進 AI 指令,客人套得出來嗎?談的是你寫給 AI 的指令本身。這篇看另一頭:從 AI 出來、往下游系統走的那一段。本文談資安做法,不構成法律意見。

輸出也要當成外來的資料

OWASP 整理的大型語言模型應用十大風險(2025 年版),把「AI 的輸出沒經過處理就交給別的系統」列成第 5 項,常見情況包括程式執行、網頁顯示、資料庫查詢這幾類。照這個觀念,我把辦公室裡會碰到的情況分成三種去處。

第一種只給人讀:摘要、草稿、會議紀錄。它不會自己做事,錯了頂多是內容錯,核對就好。

第二種會被軟體顯示或計算:網頁公告、電子報、自動回信範本、試算表公式。你貼進去的是文字,但瀏覽器、收信軟體、試算表會去解讀它。網頁裡的程式碼會執行,圖片網址會被自動抓取,公式會自動計算。試算表 OWASP 沒有特別點名,這是我的判斷:有些函數會連到外部網址抓資料,或產生一個可以點的連結,性質跟網頁內容差不多。

第三種會被系統直接執行:資料庫指令、命令列指令、巨集、自動化腳本。這一種最危險,因為執行完常常改不回來。

這跟 AI 寫得好不好沒有直接關係。兩種情況都會出事。

一種是有人在 AI 讀的資料裡動了手腳。假設你請 AI 把客戶留言整理成一則網頁公告,其中一則留言裡藏了一小段程式碼,AI 照樣搬進公告;你貼上網頁,訪客一打開就執行了。所以輸出裡只要混了別人寫的東西,就要用看待陌生人來信的眼光看它。

另一種是沒有任何人搞鬼,只是指令本身就錯了。OWASP 的情境之一,是有人在聊天介面請 AI 寫一個把資料表全部刪掉的查詢,沒人看過就執行了。開頭那句「清掉去年過期訂單」也一樣,條件少寫一個字,刪掉的範圍就不一樣。

 AI 給了一段東西
        │
        ▼
 裡面混了它讀進來的外部資料嗎?
   ├─ 是 → 下面得到的等級,再往上升一級
   ▼
 這段要去哪裡?
   ├─ 只給人讀 ────────→ 綠:核對內容
   ├─ 網頁、信件、試算表 → 黃橘:先在副本看效果
   └─ 交給系統執行 ────→ 紅:測試環境先跑、人看過

AI 產出要不要先檢查再用

等級這段要去哪裡例子會不會自己做事用之前要做什麼
綠只給你自己看摘要、草稿、想法清單不會核對內容與事實
綠貼進文件或簡報會議紀錄、報告段落不會,但會被別人當真核對事實與數字,標出處
黃寄出去或貼上網頁公告、電子報、自動回信範本會,瀏覽器和收信軟體會解讀裡面的程式碼、圖片網址和連結用純文字貼上;先貼在沒人看得到的測試頁看效果;連結逐一確認網域
橘貼進試算表或後台欄位公式、要匯入的檔案、商品描述可能,公式會計算,有些函數會連外先貼在副本;請 AI 逐一說明每個函數做什麼;看不懂的函數不用
紅交給系統執行資料庫指令、命令列指令、巨集、自動化腳本會,而且常常改不回來先在測試資料上跑;刪除、更新、寄送類由人看過結果才上正式環境;能用唯讀帳號就用唯讀

作者整理,非官方。內容裡混了客戶留言、網頁、別人傳來的檔案這類外部資料的,整段往上升一級;已經是紅的,就多找一個人看。

黃和橘兩格最容易被當成綠。公告和公式看起來都是「內容」,貼的人不會覺得自己在執行什麼。判斷的依據是貼進去之後會不會被軟體解讀,跟內容長得像文字還是像程式無關。

紅色那一格,資料庫指令可以拆成兩步:先請 AI 寫一個只查詢、不修改的版本,看它會選到哪幾筆、幾筆;確認範圍對了,再換成刪除或更新。刪除、更新、寄送這三類,先在測試資料上跑過,由人看過結果才碰正式資料。

OWASP 另外提醒一件相關的事:AI 寫程式時,可能建議一個根本不存在的套件名稱,照著去裝,就可能下載到帶惡意程式的東西。套件來源怎麼查,在裝了一個 AI 套件,怎麼知道是誰發布的?那篇有檢查表。

動手做

要貼進系統之前,開一個新的對話,把那段產出交給 AI 檢查,只檢查不改寫:

下面這段內容是 AI 產生的,我準備貼進:(網頁後台/電子報/試算表/資料庫/命令列,請自己改)。
請只檢查,不要改寫、不要執行。用白話列出:
1. 會被軟體解讀或執行的部分:程式碼、事件屬性、外部連結、圖片網址、試算表函數、資料庫的刪除與更新指令、命令列的刪除或上傳動作。每一項寫出原文片段和它會做什麼。
2. 會連到外部的網址,每個網址屬於哪個網域。
3. 如果是資料庫或命令列指令:它會影響哪些資料、多少範圍,有沒有改不回來的動作。
4. 這段內容裡有沒有看起來像是從別人的留言、網頁或檔案搬進來的文字。
最後依「綠/黃/橘/紅」給一個等級,說明理由。
內容:(貼上)

資料庫指令那一類,可以先跟管理系統的同事要一個只能查詢的帳號,讓 AI 寫的指令都先在這個帳號下跑一次。

站內延伸

來源: OWASP Top 10 for LLM Applications:LLM05:2025 Improper Output Handling(2026-10-25 查閱;輸出未經處理就交給下游系統列為第 5 項風險、常見情況類別、刪除所有資料表的情境、AI 可能建議不存在的套件;本文只參考觀念,三種去處的分類、例子與分級表為作者自行撰寫,原文以 CC BY-SA 授權)。試算表公式屬同一類、各軟體如何解讀內容為作者判斷與一般技術常識;分級表為作者整理。本文非法律意見。

← 看更多找觀念文章
取得 AI 實戰工具與更新

之後會不定期整理:新方法、指令包(Prompt Pack)、Checklist 與模板。免費、無廣告;送出後會收到一封確認信,點了連結才算訂閱成功,之後每封信都附一鍵退訂。