Theme / v4.19.4

Oh My OpenAgent

AI 代理編排系統

Skills

Prometheus 靜態審查與安全約束技能

介紹 Prometheus 代理如何依據企業資安合規規範,對產出的代碼進行靜態代碼分析與機密掃描

技能用途

AI 助手在追求「快速解決問題」時,往往會忽略軟體安全防護。例如:在代碼中硬編碼了測試金鑰、使用了已被宣告廢棄且含有 CVE 漏洞的舊版 Library,或者繞過了企業約定的統一 SQL 防射線過濾器。

Prometheus 是 OMO 內置的 安全防禦與架構合規審查技能。它在 AI 提交代碼前充當「第二對眼睛」:

  • 它會自動執行 AST-Grep,對修改的代碼進行規則模式掃描。
  • 檢查代碼中是否引入了 SQL Injection 漏洞、弱加密演算法或硬編碼憑證。
  • 對發現的安全隱患進行強制警告,並自動給出合規重寫方案。

運作原理

  1. AST Pattern Matching:解析代碼的抽象語法樹,比對已知漏洞模式。
  2. 依賴關係漏洞審計 (CVE Scan):讀取套件設定(如 package.json.csproj),檢測有無高危組件。
  3. 敏感特徵掃描 (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";

    審查通過。安全風險已排除。