我之前在研究 AI 的資訊安全,不久前我用 AI vibe coding 出一整套資安軟體,最後我親手把它全部刪掉,砍掉重新再 vibe coding 過一遍。
核心原因在於:AI 幫我寫了針對保護各種權限的防禦程式,也設計過很多種不同的防禦架構,但是在打造這套軟體的過程中,AI 卻從來沒有提醒過我,在思考過程中也完全沒有提到這套軟體本身對使用者來說可能就是一個很大的安全漏洞。
現在每個人可能花 10 分鐘,或是一天、一個晚上,就具備很棒的能力來開發。它可以跑起來、跑起來感覺很棒、該有的功能好像都有了,看起來完全可以上架,給人一種 AI 就是超強架構師的感覺。
但對我來說,現在的 AI 就像是一個非常聰明、頂尖的實習生intern:你要它做什麼、給它什麼規格、希望它具備什麼能力,它就照著做,甚至會主動優化每件事、幫你檢查原先沒考慮到的細節,依照你的方向持續前進。
可是,如果是你本來就不知道、也不在你前進方向上的風險,那該怎麼辦?
面對那種「你不知道自己不知道」的事情,AI 或許知道,但只要你沒問,它永遠不會主動告訴你,更不會反問你:「你的威脅模型是什麼?你的軟體信任邊界在哪?你的程式碼破綻在哪?」如果你只是單純憑直覺想著「如果太多人用會爆掉」才請它幫忙補強,或是偶爾想到某個小漏洞才修補,根本沒辦法做好資安檢測。
如果不是軟體工程師,單純只靠 prompt 做出一個產品,可能連駭客都還沒出手,就已經面臨很大的風險。你以為你要的功能都有了、使用者用得很棒,但一些核心功能(例如權限機制)一旦出現漏洞,就可能危害到你的服務本身,甚至可能把你的 AI credit 用爆,讓你的帳單突然要多付好幾萬塊。
那究竟該怎麼做?你可以透過 SSDLC(安全軟體開發流程)來重新建構你的系統:從需求設計開始,建立威脅模型。SSDLC 絕非多餘的事情,而是一個能真正幫助你了解核心重點的工具。