iT邦幫忙

2026 iThome 鐵人賽

DAY 18
0
IT Operation

給決策者的 30 堂 AI 素養課系列 第 18

【Day 18】不需要有人攻擊你:agent 過度代理實例

  • 分享至 

  • xImage
  •  

昨天講的是有人騙你的 AI。今天先把那個人拿掉:沒有信、沒有網頁、沒有人攻擊,它還是把正式資料庫清空了,而且是在你說了「不要動」之後。
Day 17 講的是有人從外面送指令進來,結尾時說:要它出事,其實不一定需要有人動手。今天講的就是那個情況。不需要有人攻擊,光你自己給出去的權限就夠出事了。

沒有人攻擊,怎麼還會出事?

2025 年 7 月,一位創業者拿一個 AI 寫程式的服務做了十二天的實驗。過了一個星期,他明確下了指令:現在所有動作凍結,不要再動任何東西,尤其不要碰正式環境。指令是全大寫、重複寫的。agent 還是執行了一串刪除指令,把正式資料庫裡一千兩百多筆主管資料、一千一百多家公司資料清掉了。同一天稍早,它已經在用假資料和假的測試結果蓋掉 bug;刪掉之後,它先回報說沒辦法復原,後來又證明可以。事後服務商的執行長公開道歉,說這種事本來就不應該發生。
這件事裡沒有攻擊者。沒有一封藏指令的信,沒有一個被下毒的網頁,它讀到的指令、程式碼、查詢結果,全是它自己環境裡的東西。它做的每一個動作,單獨看都是它被授權可以做的:它本來就能連正式資料庫,本來就能刪,本來就能寫。每一個動作都合規,合在一起它全部做得到,中間沒有一道關卡需要人點頭。
同年 6 月還有一件:一家專案管理軟體商新上線的 AI 連接器邏輯寫錯,大約一千家客戶的專案名稱、任務內容在一個月內互相看得到,官方說明寫得很清楚,不是被駭。再往前一年,2024 年 8 月,一組資安研究者掃了一遍公開網路,找到一千多個財星五百大公司自己搭的內部問答機器人直接開在網路上,不用登入就能問。機器人沒有被攻破,它用建立它的那位員工的帳號來連公司文件庫,因為當時的預設就是這樣。於是網路上任何人問它,它就用那位員工的身分把答案找出來,研究者從裡面拿到了法律文件。廠商後來把預設改了。
三個案子裡,它碰得到的東西都比任務需要的多。

它是怎麼做到的?

回到 Day 6 講過的:AI 能碰到什麼,看它讀得到哪些資料、能動哪些工具。前幾篇談的多半是它讀到什麼會出事,今天專講它能動什麼。刪資料這種收不回來的動作,是結果。OWASP 的 LLM Top 10 把這一項風險叫 Excessive Agency(過度代理),2026 版排在第三,它列的根因(root cause)有三個:功能過多、權限過多、自主性過多。這三個根因有一個共同點:多半從一開始,就沒有人決定過要給多少。
第一個根因,功能超過任務。一個只負責查訂單紀錄的客服 agent,接的工具是整套財務 API,所以它也能退款;或者開發時試過多個工具,上線後沒使用到的卻沒移除。沒有人故意多給用不到的功能,多半是那個工具本來就是這樣,或是乾脆先把可能需要的工具都串好。
第二個根因,權限超過任務,這又可以分為兩種。一種是範圍:只需要讀的工具,卻拿了一個除了讀還能改、能刪的權限。另一種是身分:一個替員工讀文件的工具,用的是一個看得到全公司文件的高權限帳號;或者一個 agent 用某個人的帳號在跑,使用的人卻不只一個,結果那個人看得到的,使用的人全看得到。第二種情況下,一個本來碰不到某份資料的員工,透過 agent 就碰得到了。沒有人越權,借來的身分本來就看得到這麼多。agent 把工作委派給另一個 agent 的時候,同樣的事也會發生:順手把自己全部的權限交下去,下游能碰的比它的工作需要的多得多,agent 越多,權限就往下傳得越深。
第三個根因,自主性超過任務。刪文件、對外付款、寄信給客戶,這些做了就收不回來的事,跟查資料走的是同一條流程,沒有一個地方停下來等核可。前面要求所有動作凍結的指令之所以擋不住那個刪資料庫的 agent,是因為指令只存在於對話裡。它讀了,但還是做了違背指令的動作,而對話之外沒有任何機制在攔它。
這三個根因,後面各有一篇講怎麼處理。功能跟權限兩個根因要回答的是同一組問題:接了哪些工具、拿了哪些權限、用誰的身分,Day 21 細說。自主性則要回答的是另一件事:哪些動作做之前必須停下來,等一個人簽字,這題會在 Day 23 繼續。

自主度越高,爆炸半徑越大

agent 的特點是它會一步接一步做下去,Day 9 拆過那組提案 agent 是怎麼跑的,今天的問題是那些步驟握著什麼。一個錯誤的判斷,在只能讀的 agent 身上停在讀,在能刪能寄的 agent 身上就會走到刪跟寄。自主度越高,一個錯誤的爆炸半徑(blast radius)就越大。
Day 10 講過,多給的自主性要用治理成本付款。OWASP 的 Agentic Top 10 給了一個名字,Least-Agency(最小自主權)。從資安的最小權限原則(least privilege)跟前面那個 Excessive Agency 延伸出來的:不需要自主的地方就不要給自主,多給的部分只是擴大了攻擊面(attack surface),沒有增加價值。沒有人攻擊的時候,那個面一樣是出事的面。
反過來說,三個根因都有人決定過的公司,agent 一樣會做錯事,差別在錯了之後走多遠。

對經營者意味著什麼:它現在碰得到的東西,多半不是你決定的

agent 拿到的權限,多半是接上去的時候圖方便先開好的,也還沒有人比對過這個任務究竟需要什麼。所以它碰得到的東西,往往比它的工作需要的多,也比使用它的那個人本來能碰的多。這不需要攻擊者,一個正常的錯誤就會出事。要決定的是:哪些事你打算靠指令規範它不要做,哪些要讓它根本做不到。做法在後面,但在這裡你要先承認,這些權限是沒有人決定過的。誰負責、依什麼規則、有沒有清單,這三樣 NIST 的 AI 風險管理框架(AI RMF)放在 GOVERN 那一欄,是其他所有措施的前提。接下來的問題才是它該用誰的身分做事、哪些動作要先有人簽字。而它掌握著的東西裡,有幾層其實在別人手上。

要拿走的問題

  • 執行層(CTO):隨便挑一個 agent,能不能回答下面三件事:它接了哪些工具、用誰的身分連過去、哪些動作會停下來等人確認?
  • 經營層(董事會/CEO):我們的 AI 能碰到什麼,公司裡有沒有人負責決定、有規則可以依據、有盤點清單?那份清單是多久前做的?
    一句話帶走:不需要有人攻擊你。你自己給出去的權限就夠出事了。

參考連結


上一篇
【Day 17】一封信、一個網頁,就能對你的 AI 下指令
下一篇
【Day 19】AI 供應鏈的三層風險地圖
系列文
給決策者的 30 堂 AI 素養課22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言