Helper CTO 系列文章 06|AI 寫的程式碼最常踩的資安地雷:權限、金鑰、輸入驗證

AI研究
Author
恩梯科技
2026-09-23 3 次閱讀 5 分鐘閱讀
Helper CTO 系列文章 06|AI 寫的程式碼最常踩的資安地雷:權限、金鑰、輸入驗證

「我們的東西沒什麼好偷的吧,就一個小網站。」這句話通常是真心的,代價則在幾個月後才出現:某天外部服務的帳單變成平常的好幾倍,或者所有客戶的資料被人翻過一遍,而你不知道是什麼時候的事。攻擊的人不會先判斷你值不值得偷,他們用程式自動掃,掃到門沒關就進去。你不是被針對,而是門本來就沒關。以下三件事,是我們接手 AI 做的產品時最先檢查的。

AI 寫得很快,但它不會替你擔心被入侵

AI 工具的目標是「做出你要的功能」,不是「擋住不該進來的人」:

  • 你說要會員系統,它給你會員系統;你沒說「別人不能看別人的資料」,它不會自己加。
  • 人類工程師寫功能時,腦中有一份「壞人會怎麼用它」的清單,那是經驗。
  • AI 只有在你要求的時候才會啟動那份清單,而你不知道有這份清單要求它。

所以 AI 做的產品功能面往往很完整,防禦面往往是空的。這跟Vibe Coding 與真正系統架構的差距那篇是同一件事:做得出來,跟扛得住,是兩種能力。

先拆五個「你以為」

真正危險的不是技術細節,是這五個看起來很合理的想法:

你以為實際上會發生什麼
畫面上看不到,就等於沒權限後端沒有再檢查一次身分改一下網址就看得到別人的訂單
金鑰寫在程式裡沒人看得到程式碼進了版本庫就等於公開帳單暴增,或服務被服務商停用
表單裡只會有人正常打字有人會貼特別設計的字串資料庫被整個讀走或刪掉
沒人會針對我們這種小網站攻擊是程式自動掃全網的掃到門沒關就進去,跟你是誰無關
上線時檢查過就一直安全底層套件的漏洞持續被發現舊漏洞一直開著,沒人知道

三顆地雷:權限、金鑰、輸入驗證

  • 權限。畫面上依身分顯示不同按鈕,但後面實際處理資料的地方,沒有再檢查一次「這個人有沒有資格做這件事」。這就像辦公室大門有門禁,但每個房間的門都沒鎖,刷進大門的人可以隨便走。
  • 金鑰。金鑰是程式跟外部服務之間的通行證,誰拿到它,誰就能用你的名義、花你的錢。最快的做法是把它寫在程式碼裡,然後程式碼一上傳,那串字任何人都看得到。
  • 輸入驗證。程式沒先檢查「這是不是合理的輸入」就拿去查資料庫或顯示在頁面上,那段字串就會被當成指令執行。像客人在備註欄寫「把收銀機打開」,而廚房真的照做。

共通的病根是:程式沒有分辨「這是資料」跟「這是指令」,也沒分辨「畫面上看不到」跟「實際上拿不到」。

三題自檢,五分鐘

不用懂技術,找個測試環境,或請做的人陪你一起做:

  1. 權限:用一般客戶的帳號登入,把網址裡的編號改成別的數字,或直接輸入管理頁的網址。看得到不該看的,就是中了。
  2. 金鑰:打開程式碼,搜尋 key、secret、password、token。找到一長串像亂碼的字串就是中了,順便確認版本庫是不是公開的。
  3. 輸入驗證:在任何一個表單欄位貼進含單引號與角括號的文字送出。頁面版面跑掉、或出現一串英文錯誤,就是中了。

三題都過不代表安全,但代表最基本的門有關;中兩題以上,先不要開放給真實客戶。這是能 demo 不等於能上線那篇檢查表裡資安的展開版。

補起來的順序

三顆地雷不要一起處理,照這個順序:

  1. 先換金鑰。進過版本庫的金鑰一律視為已外洩:重新產生一組、停掉舊的、把新的搬到程式碼以外。最快,而且是唯一一件「可能已經在漏錢」的事。
  2. 再補權限。把「有沒有資格」的檢查加到每一個處理資料的地方,不只是畫面上。要逐個功能看,但影響最大。
  3. 最後補輸入驗證。每個表單、每個接收外部資料的入口都加上檢查與過濾。多數開發框架有現成做法,重點是確認每個入口都用上。

補完之後,安全更新要持續做,因為底層套件的漏洞會不斷被發現。

恩梯科技怎麼顧這三扇門

  • 接手第一輪就換金鑰、補權限,不等你先出事才處理。
  • 安全性更新每季至少 1 次,緊急狀況另外加開,不是有空才做。
  • 你回報有錯誤 2 個工作日內回覆評估,主機或服務出問題 1 個工作日內回應處理。

資安不是一次做完的專案,是每個月有人固定在看的事。

把 AI 做出來的產品該關的門關上,是恩梯科技以 Helper CTO 角色接手時第一輪就會處理的事:像公司的技術負責人,只是不在你的編制裡,接手、維護、改善都由同一組人負責。第一步是 60 分鐘的系統健檢,只需要讓我們看得到程式碼,不需要正式環境的帳號密碼,3~5 個工作天內你會拿到一頁報告,三顆地雷各是什麼狀況都會寫清楚。如果你剛做完三題自檢、答案不太好看,可以從這裡開始:Helper CTO:系統維運方案

想把這些做法落地到你的公司?

認識 Helper CTO:系統交給誰負責
加 LINE 詢問

我們不追求大量專案。

只與少數值得深入合作的夥伴建立長期關係。

預約系統健檢

需要協助嗎?

點擊這裡與我們聯繫!

立即聯繫