
Vibe coding 砌 app 快到飛起,上線前先補返呢幾個安全洞
AI 生 code 幫你快起 MVP,但一接客戶資料就要當正式系統處理
由 side project 變成生意工具,風險就變晒
The Verge 呢篇新聞值得睇,因為佢講到 AI coding 工具以外嘅問題:Bob Starr 用 vibe coding 整咗一個查美國稅款流向科技公司嘅網站,上線幾個月後先發現藏住 SQL injection 風險;文章亦提到社交 app database 開晒、電郵同私人訊息可能外洩。呢啲例子唔使當成恐慌故事,重點好清楚:app 由自己部機玩,搬到 cloud、開畀人用、開始收資料,風險等級即刻唔同。

圖片:Wikimedia Commons — ChatGPT(Public domain)
安全好多時冇畫面
Vibe coding 嘅爽位,係你打幾句 prompt,佢就幫你生頁面、表格、登入、CRUD、部署 config。最要命係 安全好多時冇畫面:SQL query 有冇用 parameterized query、每個 API route 有冇 check user id、admin button hide 咗之後 server 係咪都擋住、log 會唔會記低 token、database key 權限係咪太闊。AI 可以跟住要求做,但威脅模型同資料邊界冇寫清楚,佢好多時只會交一個跑得郁嘅版本。
SQL injection 只係第一個坑
OWASP Top 10 入面,injection 長期係高危項目,核心原因好老土:用家輸入嘅字串俾程式直接拼入 query,攻擊者就有機會讀、改、刪本來唔應該掂到嘅資料。防法唔神秘,prepared statements、parameterized queries、server-side input validation、少啲動態 SQL,全部都係基本功。Vibe coding 危險位係 demo 順、畫面正常、老闆睇到會點頭,但底層 query 同權限冇人望過。
香港常見場景:快起 booking、CRM、dashboard
呢件事同香港 freelancer、startup、中小企其實幾貼身。好多項目都係先求快:餐廳 booking、補習社報名、客戶 CRM、報價系統、warehouse dashboard,幾日內由 AI 幫手砌到可用原型。只要入面有客人電話、電郵、地址、付款紀錄、會員折扣、內部成本,就唔可以用 side project 心態處理。私隱風險之外,仲有生意風險:一個 demo link 洩咗,可能連埋報價、客戶名單、staff account 權限一齊出事。
上線前,最少做一次硬檢查
檢查清單唔使華麗,但要真係逐項過。第一,資料分級,寫低 app 存咩資料、邊啲可公開、邊啲要加密或者唔應該存。第二,auth 同 authorization 分開睇,登入咗唔代表可以睇晒所有 record;server 每個 route 都要按 user、role、tenant 再檢查。第三,所有 DB query 用 parameterized query 或者成熟 ORM,唔好畀 AI 用字串拼 SQL。第四,secrets 只放喺環境變數或者 secret manager,出事即刻 rotate key。
dependency、logging、權限,全部都要收窄
第五,dependency 要鎖版本同掃漏洞,Dependabot alerts、npm audit、pip-audit 呢類工具至少要跑;AI 好鍾意加 package,唔代表個 package 可信。第六,cloud 權限要收窄,database account 唔好用 owner,storage bucket 預設唔好公開,CI token 唔好有全公司權限。第七,logging 要乾淨,error message 唔好噴 stack trace、SQL、token、客戶電話出去;同時又要留到 audit trail,知道邊個時間、邊個 account 做過咩。CISA / NSA 講 secure-by-design,其實放喺呢度都一樣:預設就要安全,唔好等部署咗先補鑊。
AI security review 有用,但唔好當護身符
Claude Code 有 /security-review,Anthropic 亦有 GitHub Action;OpenAI 官方文件亦寫到 Codex Security 會接 GitHub repo、建 threat model、驗證漏洞,再提出 patch 畀人審。呢啲工具值得用,尤其係你每改一次就叫佢掃一次。不過安全係 context 問題:app 係咪公開上網、資料留幾耐、邊個 staff 可以 export、客戶資料會唔會送去第三方 LLM,工具唔一定知晒。最好開工前就寫清楚安全要求,完成之後,再搵另一輪 review 專門睇 SQL injection、權限錯配、hardcoded secrets、敏感 log、依賴漏洞同部署設定。
分界好簡單:有冇其他人嘅資料
分界可以簡單啲睇:純本機、純自己用、冇同步、冇敏感資料,vibe coding 可以放膽啲,最多壞咗重砌。只要 app 開始收其他人資料,或者接 payment、email、Slack、Google Drive、公司 database,就要當正式 project。小公司未必請得起 security engineer,但至少要有 version control、staging、backup、rollback、基本測試、一次人手 code review。AI 生 code 唔等於可直接上線,下一步要追嘅係上線紀律。
參考來源
- The Verge — Read this before you vibe-code another app — original report
- OWASP SQL Injection Prevention Cheat Sheet — SQL injection 點防,用 parameterized query 同 prepared statements。
- OWASP Top 10:2021 A03 Injection — 補充 injection 點解屬高危 web app 風險。
- CISA / NSA: Principles and Approaches for Security-by-Design and -Default — secure-by-design / secure-by-default 背景,支撐預設安全呢個觀點。
- GitHub Docs: Secret scanning — secrets scanning 同 key 洩漏處理建議。
- GitHub Docs: Dependabot alerts — 依賴漏洞 alert 同更新流程背景。
- OpenAI Help Center: Codex Security — Codex Security 官方說明,用嚟核對 AI security review 邊界。
- Anthropic: Claude Code Security Reviewer — Claude security review 指令同 PR 掃描能力。
本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。







