技能用途
AI 助手在追求「快速解決問題」時,往往會忽略軟體安全防護。例如:在代碼中硬編碼了測試金鑰、使用了已被宣告廢棄且含有 CVE 漏洞的舊版 Library,或者繞過了企業約定的統一 SQL 防射線過濾器。
Prometheus 是 OMO 內置的 安全防禦與架構合規審查技能。它在 AI 提交代碼前充當「第二對眼睛」:
- 它會自動執行 AST-Grep,對修改的代碼進行規則模式掃描。
- 檢查代碼中是否引入了 SQL Injection 漏洞、弱加密演算法或硬編碼憑證。
- 對發現的安全隱患進行強制警告,並自動給出合規重寫方案。
運作原理
- AST Pattern Matching:解析代碼的抽象語法樹,比對已知漏洞模式。
- 依賴關係漏洞審計 (CVE Scan):讀取套件設定(如
package.json或.csproj),檢測有無高危組件。 - 敏感特徵掃描 (Credential Leak Check):攔截包含密碼或 API 金鑰的代碼提交。
實戰對話範例
範例:審查程式碼中的 SQL 注入隱患
- You:
omo /spawn prometheus "審查我們剛才寫的 UserRepository.cs" - AI:
[OMO] Prometheus Engaged: Security & Architecture Audit
正在以 AST-Grep 掃描
UserRepository.cs的代碼特徵…安全警告 (SQL Injection Risk):
發現第 34 行存在動態拼接 SQL 字串的漏洞:
string query = "SELECT * FROM Users WHERE Name = '" + name + "'";合規建議:必須改用參數化查詢以防範 SQL 注入漏洞。
我已將該行重寫為參數化格式:
var query = "SELECT * FROM Users WHERE Name = @Name";審查通過。安全風險已排除。