前幾天我讓 Claude Code 分析 Bug、Test、Code Review 和效能問題,這次我想從另一個角度檢查專案:
如果功能都正常,這個系統真的安全嗎?
所以這次我請 Claude Code 針對目前專案做一次完整的 Security Review,而且先不要修改任何程式碼。
請幫我檢查目前專案的安全性。
先不要修改任何程式碼,
請找出可能的安全問題,
並說明問題原因、風險以及建議的改善方式。
最後請依照風險程度,
整理出優先處理順序。


這次檢查後,發現的問題比我原本想像的多。
例如文章 API 沒有權限檢查,登入後任何使用者都可以刪除任何文章。雖然系統有 role,但 API 根本沒有使用。
/login 也沒有暴力破解防護,沒有失敗次數限制或暫時鎖定,因此可以一直嘗試密碼。
另外,debug=True 也是一個高風險問題。正式環境如果讓 Werkzeug Debugger 對外開放,可能造成嚴重的安全問題。
這次還發現練習檔案中存在更明顯的問題,例如:
f.save(f"./save/{f.filename}")
直接使用使用者提供的檔名,可能造成路徑穿越與任意檔案上傳。建議使用 secure_filename、限制檔案大小與副檔名,並要求登入後才能上傳。
Claude Code 最後也幫我整理優先順序,例如先處理 users.db.bak、關閉正式環境的 debug=True、替 /login 加上 rate limit,再處理權限與 Session Cookie 等問題。
這次讓我最有感的是:
Security Review 不是檢查「程式能不能跑」,而是思考「如果有人故意攻擊這個系統,會發生什麼事?」
到這裡,我開始發現一個 Agent 如果只負責寫 Code,其實還不夠。
如果能讓不同的 AI Agent 分別負責研究、Coding、Testing、Review,是不是就能讓整個開發流程變得更完整?
明天研究主題:為什麼需要 Multi-Agent?