您是否曾用 AI 助理開發應用程式或遊戲,並在自己的筆記型電腦上順利運行?但在您將連結分享給任何人之前,請花十分鐘檢查那些通常在發布後而非開發時才會出錯的問題。以下是七項您可以貼到 Claude Code(或 Cursor,或任何能讀取您專案資料夾的助理)中進行檢查的項目。
每個項目都設計為「唯讀」模式,它會要求助理查看並報告,而不是修改任何內容。在開始之前,請記住兩條規則:首先,務必保持唯讀。如果您的工具具備「規劃」或「詢問」模式,請使用它。以下每個提示詞都寫著「不要修復它」,請在閱讀報告之前保持這個設定。
其次,AI 審查並非全面的稽核,它會遺漏一些東西。對於任何重要的事項,請務必也請真人進行檢查。
1. 程式碼中的金鑰和密碼
請找出我的程式碼或設定檔中直接寫入的 API 金鑰、密碼和權杖。只報告檔案路徑和密鑰類型,絕不顯示其數值,也不要開啟 .env 檔案。如果這是一個 Git 儲存庫,請檢查其歷史紀錄(所有分支),並告訴我是否存在 Git。請將公開設計的金鑰(例如以 pk_ 開頭的 Stripe 金鑰)與必須保密的金鑰分開。
指出那些最終出現在瀏覽器程式碼中、看起來像密鑰的值(例如以 NEXT_PUBLIC_、VITE_ 等開頭的變數)。不要修復任何東西。
為什麼:曾經被推送到公開儲存庫的金鑰,即使您後來刪除了它,也應視為已洩漏。解決方法是撤銷它並建立一個新的金鑰。
2. 誰可以查看或更改什麼
請列出所有無需登入即可運作的頁面和 API 端點,並以表格形式呈現。標記任何會返回個人資料或其他使用者資料的端點,以及任何透過更改網址中的數字或 ID 就能顯示他人記錄的端點。檢查只有登入使用者才能執行的操作(編輯、刪除、支付、管理)是否在伺服器或資料庫規則中強制執行,而不僅僅是隱藏在頁面中。
如果我使用 Supabase 或 Firebase,請檢查是否開啟了列級安全性或安全規則,並告訴我從程式碼中無法驗證的內容。不要向任何正在運行的伺服器發送請求。不要修復任何東西。
為什麼:頁面中隱藏的按鈕無法提供任何保護。任何人都可以直接呼叫其背後的網址。
3. 在真實伺服器上會出什麼問題
請告訴我此應用程式所需的建置指令、啟動指令、運行時版本和連接埠,並列出它讀取的所有環境變數(僅名稱和用途,不含數值)。列出一旦它有了真實網址後必須更改的內容:localhost 或 http:// 網址、登入回呼網址、允許的來源、Webhook 網址。找出開發遺留物:偵錯模式、測試帳戶、預設管理員密碼(僅位置,不含數值)、詳細錯誤頁面。不要運行任何建置、安裝或遷移。不要修復任何東西。
為什麼:「在我的電腦上可以運行」最常失敗的原因是缺少設定,或是只有在您的機器上才存在的網址。
4. 當它出問題時您會知道嗎
檢查在發布後,當某些東西失敗時我是否會發現:錯誤處理、日誌記錄、健康檢查端點、警報。如果您不知道我將在哪裡託管它,請解釋主要情況(無伺服器、容器或伺服器、靜態託管)。以選項的形式建議最簡單的通知方式。不要更改程式碼。
為什麼:發布後,錯誤只有在您設定了某些東西時才會傳達給您。否則,您會從訪客那裡得知,或者根本不知道。
5. 什麼可能導致費用暴增
找出所有會產生費用的地方:AI API 呼叫、資料庫查詢、檔案儲存、電子郵件或簡訊發送、排程任務。對於每個項目,檢查它是否需要登入、每個使用者是否有上限,以及輸入長度和檔案大小是否受限。特別注意陌生人可以呼叫的 AI 端點。告訴我在每個供應商處如何設定每月支出限制和帳單警報。不要修復任何東西。
為什麼:頁面中的限制並不是真正的限制。如果 AI 端點對網際網路開放,陌生人可能會花光您的錢。
6. 資料儲存在哪裡
請告訴我此應用程式儲存資料的位置(資料庫、檔案、記憶體狀態、瀏覽器儲存),以及在重新啟動或重新部署時會丟失什麼。檢查開發和生產是否可能使用相同的資料庫,以及遷移或種子腳本是否會自動運行。告訴我需要備份什麼,以及如果發布出錯,我將如何恢復到以前的版本。只查看結構;不要開啟真實資料。不要修復任何東西。
為什麼:許多主機為您的應用程式提供一次性磁碟。應用程式儲存的檔案可能會在下次部署時消失。
7. 發布後 30 分鐘的檢查清單
請閱讀此專案,並為我撰寫一份在應用程式上線後立即遵循的簡短檢查清單:在無痕視窗和手機上開啟網站,使用全新帳戶註冊,檢查確認信和密碼重設郵件是否送達,端到端運行應用程式的主要流程,如果有的話,使用測試卡檢查支付流程,查看訪客在錯誤頁面上看到什麼,知道日誌在哪裡,以及如何回滾。
為什麼:前三十分鐘可以發現只有陌生人帳戶在真實網址上才會出現的問題。
喜歡指令嗎?我將這七項檢查,加上一個可選的支付和個人資料檢查,放入了一個免費的開源 Claude Code 外掛程式中。它限制助理只能讀取,絕不列印密鑰值,並且每份報告都以它無法驗證的內容結尾。
您可以透過以下指令安裝:
claude plugin marketplace add ym2629/lavela-preflight
claude plugin install lavela-preflight@lavela
然後在您的專案資料夾中運行 /lavela-preflight:all。原始碼和詳細資訊請見:https://github.com/ym2629/lavela-preflight
我對一個故意植入弱點的小型應用程式測試了其中兩項檢查(密鑰和存取控制):瀏覽器程式碼和 Git 歷史中的假金鑰、一個返回任何使用者記錄的端點,以及一個僅受隱藏按鈕保護的管理員操作。它們在其範圍內找到了所有植入的弱點,包括檔案和行號,並且沒有列印任何假密鑰。
這仍然是 AI 審查,因此請將其輸出視為一個起點。我正在開發 lavela,這是一個讓 AI 代理從 GitHub 儲存庫部署應用程式並在之後報告的服務。這些提示詞和外掛程式適用於任何專案,並且不需要 lavela 服務。