工程開發
semgrep-rule-creator
創建、測試並驗證用於偵測安全漏洞與程式碼模式的自訂 Semgrep 規則。
簡介
semgrep-rule-creator 技能提供了一個嚴謹的測試驅動框架,用於開發自訂靜態分析規則。專為安全工程師與開發人員設計,它指導規則編寫的整個生命週期,從初步的問題分析與 AST(抽象語法樹)檢查,到反覆運算的測試與最終的規則優化。透過強制執行嚴格的「測試優先」方法,此技能確保了新的偵測模式既能有效識別漏洞,又能防禦誤報。
-
促進高品質 Semgrep 規則的創建,包括支援汙點分析(taint-mode)以追蹤從來源到接收端的不受信任資料流。
-
引導使用者完成反覆運算的流程:分析問題、撰寫單元測試、探索 AST 結構、實作規則、進行測試驗證,並執行最終優化。
-
整合強制性驗證步驟,要求使用 'semgrep --test' 以確保在規則定稿前達到 100% 的通過率。
-
協助識別複雜的程式碼模式、安全漏洞,並確保跨多種語言的內部編碼標準遵循。
-
使用此技能來針對特定的漏洞類別,例如注入攻擊、不安全 API 的使用,或通用規則常遺漏的硬編碼敏感資料。
-
需要在本地執行測試;規則必須組織為每個規則對應一個 YAML 檔案,並附帶包含有效 ruleid/ok 標註的專用測試檔案。
-
嚴格禁止對特定語言的安全檢查使用通用模式匹配,並禁止包含 'todook' 或 'todoruleid' 標記。
-
預期輸出包含一個結構化目錄,其中包含規則 YAML 與對應的測試原始檔案,以便進行自動化驗證與生產就緒的部署。
-
旨在透過優先採用汙點分析來降低雜訊,該分析能夠根據上下文區分安全與危險的函數呼叫,從而減少處理誤報所需的人力。
倉庫統計
- Star 數
- 4,874
- Fork 數
- 424
- Open Issue 數
- 21
- 主要語言
- Python
- 預設分支
- main
- 同步狀態
- 閒置
- 最近同步時間
- 2026年4月29日 上午08:13