api-doctor:110條確定性AST規則,捕捉AI生成程式碼中的不良API整合
api-doctor 是一個開源CLI工具,使用110條確定性AST規則掃描AI生成的程式碼,以發現錯誤的API整合。它覆蓋安全性、正確性、可靠性和整合問題,支援Supabase、Auth0、Firebase等提供商。與基於AI的工具不同,它每次輸出相同,便於測試AI程式碼。
近日,一款名為 api-doctor 的開源工具在Hacker News上引起了廣泛關注。該工具旨在解決AI生成程式碼中常見的API整合錯誤問題。與傳統的基於AI的程式碼審查工具不同,api-doctor 採用110條確定性AST(抽象語法樹)規則對程式碼進行靜態分析,而非依賴可能產生不一致結果的AI提示。這意味著對於相同的輸入,它能保證一致的輸出結果,從而為開發者提供可靠且可重複的程式碼審查體驗。
api-doctor 目前支援11個主流API提供商,包括Resend、Supabase、Auth0、Firebase、Lovable、Browserbase、OpenAI Computer Use、TipTap、ElevenLabs、Twilio和OpenAI Realtime,共覆蓋110條具體規則。這些規則被精心設計並分為四個關鍵類別:安全性(對映到CWE和OWASP標準,檢測硬編碼API金鑰、客戶端包中的秘密、未驗證簽名前讀取的Webhook等)、正確性(檢測錯誤的端點或API使用,如透過批次傳送營銷郵件、缺少取消訂閱連結、在生產環境中使用測試域名等)、可靠性(預防生產故障模式,如缺失冪等性鍵、未強制批次限制、未對映錯誤碼等)、以及整合(填補AI代理可能遺漏的接線缺口,如缺少標籤、未記錄請求ID、使用裸發件人地址而非“名稱”標準格式等)。
該工具的突出優勢在於其確定性。正如開發者所強調的:“你不能用AI來測試AI程式碼。api-doctor打破了這一迴圈。相同的規則,相同的輸出,每次都是。不是模型呼叫,也不是提示詞。”這種設計使得測試AI生成程式碼變得簡單而可靠。
在安裝與使用方面,api-doctor 主要作為一個CLI命令執行,使用者只需在專案目錄中執行“npx @api-doctor/cli .”即可開始掃描。此外,它還可以作為代理技能整合到Claude Code、Cursor或Windsurf等開發環境中,透過“npx @api-doctor/cli install”命令進行安裝。
關於隱私與遙測,api-doctor 收集匿名使用資料以幫助開發者瞭解工具的實際效用。它透過PostHog收集CLI版本、Node.js版本、執行平臺、執行上下文(本地、CI或代理)、檢測到的API提供商名稱、觸發的規則名稱(不含程式碼)、評分和發現計數、專案執行之間的分數差異(本地儲存),以及雜湊後的專案識別符號。工具明確宣告永遠不會收集使用者的程式碼內容、原始檔案路徑、專案名稱或個人身份資訊。使用者可以透過新增“--no-telemetry”標誌或設定環境變數“API_DOCTOR_TELEMETRY=0”或“DO_NOT_TRACK=1”來退出遙測。
api-doctor 採用MIT許可證開源,原始碼託管在GitHub上,並鼓勵社群貢獻新的提供商規則。該工具由Qualty開發,旨在幫助開發者在不完全信任AI生成程式碼的情況下,快速發現並修復API整合問題。