對許多團隊來說,Vibe Coding就像魔法一樣。開發變得更快,原型幾乎可以在一夜之間轉變為產品,開發軟體的門檻降到了前所未有的低點。然而,Vibe Coding的出現也同時存在了一些不容忽視的現實。
用簡單的自然語言描述你的需求,然後讓AI為你生成程式碼。這正是Vibe Coding所承諾的。對許多團隊來說,這就像魔法一樣。開發變得更快,原型(Prototypes)幾乎可以在一夜之間轉變為產品。開發軟體的門檻降到了前所未有的低點。透過大幅降低產出程式碼的成本,AI提高了軟體變更的數量與速度,其速度已超過大多數團隊能夠審查、治理或是完全理解的能力。然而,Vibe Coding的出現也同時存在了一些不容忽視的現實:
Vibe Coding不只加速開發,它也加速了風險的產生
這並不是因為AI「不擅長寫程式」或是扮演反派角色,而是因為Vibe Coding改變了軟體的建構方式、審查方式與責任歸屬。所謂Vibe Coding,指的是這樣的工作流程:開發者或代表開發者行動的AI代理,從自然語言提示詞中生成具有實際用途、可進入正式環境的程式碼,而且通常缺乏逐行的細緻檢視。這與單純的自動補全或標準IDE輔助不同,而這樣的轉變帶來了對資安的影響。
缺乏理解的速度,Vibe Coding壓縮了這整個流程
傳統的開發流程本身帶有「摩擦」。你撰寫程式碼、你審查它、其他人再審查一次。你測試它,甚至為它爭論。只有在這些過程完成之後,程式碼才會被發布。
當程式碼是從提示詞生成時,開發者往往只關注一個問題:它能運作嗎?而不是:它是否安全?我是否完全理解這段程式碼在做什麼?
在許多情況下,負責發布應用程式的人並沒有逐行撰寫這些程式碼,若被詢問,也未必能輕易解釋。這並不代表他們疏忽,而是因為他們是人。Vibe Coding並沒有移除既有的控制機制,而是讓更多變更以更快的速度通過這些機制,進而暴露出審查、政策與核准流程中的延遲、人工處理或彼此脫節的問題(圖1)。
圖1 傳統開發流程與AI Vibecoding流程比較。
Vibe Coding所帶來的助益是推進速度,而不是審慎檢視
這樣的工作流程所帶來的結果是,程式碼在功能上符合預期,也通過基本測試,但卻未經深入審查、威脅建模或資安驗證。功能成為終點線,而安全則變成「之後再處理的事情」。
每一個提示詞帶來的,比你想像的更多
AI並不是在孤立的情況下生成程式碼。一個提示詞(Prompt)很少只產生商業邏輯,通常還會附帶框架選擇、輔助套件,以及可能從未被有意識審查的實作捷徑。
在實務上,Vibe Coding可能引入:
‧非預期的相依性:如一個用於OAuth登入的Prompt,可能會引入開發者未明確選擇的輔助函式庫或範本。
‧風險性預設設定:生成的服務可能繼承過於寬鬆的日誌權限、廣泛的網路綁定,或過於寬鬆的驗證機制,這些在示範環境中或許可行,但在正式環境中並不安全。
‧薄弱的機密處理:範例程式可能將占位用的密碼、測試用憑證,甚至記錄機敏資料的行為視為常態。
‧僅考慮正常情境的邏輯(Happy Path):程式碼雖能滿足一般使用情境,但卻忽略授權邊界、濫用防護機制,以及異常或錯誤處理。
而因為這些變更看起來很小,例如「只是個輔助函式」或「只是快速新增一個API端點」,以至於很容易低估其風險。這正是資安技術債形成的方式:不是來自一次災難性的錯誤,而是來自數百個在壓力下為了快速上線而做出的合理決策(圖2)。
圖2 資安技術債形成方式。
沒有人談論的責任歸屬問題
Vibe Coding最大的風險之一,不是沒有人負責程式碼,而是責任被切割得過於零散。
提交程式碼的人或許清楚,但其設計意圖、生成過程、相依性選擇的原因,以及審查是否獨立,往往不明確。責任分散在Prompt的撰寫者、AI代理、審查者與服務負責人之間。
原始開發者可能已經離開。程式碼對任何人來說都不熟悉,邏輯也未必符合團隊既有的模式。於是,一個「小問題」的修復,可能變成一場尋寶遊戲:
‧這段程式碼是誰生成的?
‧為什麼會加入這個函式庫?
‧這個行為是刻意設計的嗎?
‧我們可以安全地修改它嗎?
用來釐清這些問題的時間,往往遠超過一開始預防問題所需的時間。
即使能夠辨識責任歸屬,審查的獨立性仍可能失效。團隊越來越依賴同一套AI系統來同時生成與驗證變更,形成看似有審查、實則缺乏職責分離的情況。
Vibe Coding不是在破壞安全控制,而是在做壓力測試
AI讓產出程式碼的成本大幅下降,也讓軟體變更的速度與規模快速膨脹。一旦審查、責任機制與治理能力跟不上這個節奏,團隊最終將無法掌握究竟有哪些程式碼被推上線。
此時,真正的風險,不只是程式碼不安全,而是軟體變更失去控制。
這些風險並非全新。開發者一直以來都會重用函式庫、繼承預設設定,並在壓力下交付程式碼。AI改變的是規模、速度,以及引入這些風險的「感知成本」。當生成可運作的程式碼幾乎沒有成本時,團隊會更頻繁地進行更多變更,但更少進行審查步驟,且既有控制機制也因此承受前所未有的壓力。
在Vibe Coding的世界中,當問題被發現時,往往已經太晚
當問題浮現時,程式碼已經進入正式環境,開發當時的背景已經消失,修復變得困難且具破壞性。這時候,資安看起來就像阻礙,而不是保護機制。
在Vibe Coding時代真正有效的方法
如果Vibe Coding已經成為趨勢(而事實確實如此),那麼資安就必須適應現代軟體的開發方式。這意味著四個實務上的轉變:
‧更早發現問題(而不是事件發生後大量的警告):早期訊號勝過事後警報。
‧讓防護機制自動化:資安不能依賴開發者在撰寫Prompt時記住所有規則。
‧聚焦於共享脈絡:開發與資安團隊需要看到相同的問題,而不是來回交接。
‧優化流程(而非增加摩擦):應採用能融入既有流程的控制機制。
為何平台開始變得重要
這正是平台(而非單點工具)開始重要的原因。當程式碼安全被整合進團隊既有的風險管理環境,並直接嵌入CI/CD工作流程中,它就成為軟體開發的一部分。
這些工作流程的改變,正是整合式程式碼安全平台變得重要的原因(圖3)。TrendAI的觀點是,資安必須嵌入開發流程,使審查、政策與責任歸屬能隨著AI生成的變更一起擴展。
圖3 整合式程式碼安全平台示意圖。
關鍵不在於功能清單,而在於時機。及早出現的資安是引導;太晚出現的資安則成了阻礙。
問題不在Vibe Coding,而在於對其風險視而不見
Vibe Coding具備強大的能力與創造力,正在改變誰能參與軟體開發,以及創意轉化為產品的速度。然而,缺乏防護機制的速度,不只是加快進程,也同步放大風險。
真正能成功的組織,不會選擇禁止這項技術,而是能及早辨識風險,並提前把風險設計進流程中。
因為歸根究柢,Vibe Coding的真正風險,不在於AI產生了不安全的程式碼,而在於人類在沒有機會確保安全的情況之下,就已經將程式碼推上線。
<本文作者:TrendAI Research TrendAI威脅研究中心本文出自趨勢科技資安部落格,是由趨勢科技資安威脅研究員、研發人員及資安專家全年無休協力合作,發掘消費者及商業經營所面臨層出不窮的資安威脅,進行研究分析、分享觀點並提出建議。>