Vibe Coding資安想像

話說 vibe coding 最常被詬病的問題之一就是安全性,寫 code 的人通常都看不懂程式碼在幹嘛,所以有資安問題也發現不了,也不知道怎麼去調 AI。

我一開始也想因為這點趁機嘴兩句,但最近仔細想想,說不定再過不久就沒辦法嘴了。

首先,AI 在 coding 上的進化速度大家有目共睹,每半年或一年就進化一次,從最早 ChatGPT 出來寫一兩個小 function 堪用,到寫一個小玩具堪用,再到可以直接無縫融合進你現有的工作流程中,幫你在 codebase 裡面重構、新增功能等等,無論是 AI 本身的使用方是(如 agent)或是模型的進化等等,都讓整體開發功力更上一層樓。

現在也已經有了不少拿 AI 做 code review 的應用了,那我們是不是可以期待不久後的將來,模型或是開發工具直接內建這個功能,寫完之後自己找漏洞、修漏洞,把資安這個洞補上?

或甚至再過不久,會不會 AI 寫出來的程式碼反而比一般人寫的還安全?

我之前有提過從開發者的角度來看,會寫出漏洞基本上分三種:

  1. 你不知道這樣寫會出事
  2. 你忘記這樣寫會出事
  3. 你知道這樣寫會出事,但還是這樣寫

第一種是最致命的,因為你根本不知道這寫法有問題,所以你很有自信,但失敗了。

但當 AI 本身就內建資安相關的知識或是特別調教過之後,AI 會懂得比一般人多,而且預設的寫法就是安全的。從這角度來看,既然 AI 比一般人更知道怎麼寫才安全,反而多數的人才是不可靠的。

我不是堅定的 AI 信仰者,上面這個論述有幾個前提,例如說:

  1. AI 會一直進化
  2. 現在 AI 之所以寫的東西還不安全,是因為不想做(或沒這麼重要),而不是做不到(反例:說不定 AI 寫得很安全大家都很想做,只是因為某些技術難題所以做不到,那上面說的就不一定成立了)

我只是想著想著覺得「未來 AI 寫的 code 會比一般人寫得還安全」似乎是個滿有趣的論述,而且有一定的合理性。

話說一直強調一般人,是因為有些類型的漏洞對 AI 來說還是比較難找,例如說各種串來串去的或是更偏向邏輯類型的,或是有些冷知識 AI 的資料庫還沒有的,這些都專家才會知道的。

講到這個,許多漏洞都是一個串一個,看似微小的漏洞結合起來發揮影響力,那如果 AI 在寫 code 時就把每個小洞都封死,是不是會變得安全呢?

評論