工程開發
semgrep-rule-creator avatar

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
在 GitHub 查看