工程开发
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 查看