SuperAPI AI 工具集

opengrep-rule-generator-research

安全与审计

查看项目

更新于 10-16 02:17

技能介绍

用途

该技能用于通过协作对话生成有效的 opengrep/semgrep YAML 规则,支持安全研究、漏洞检测规则编写以及代码库安全审计。它面向需要为特定漏洞、CVE、CWE 或 OWASP 类别创建可复用 SAST 规则的用户。

主要能力

  • 支持两种工作流:引导式发现(交互式问答)和漏洞驱动式生成(基于 CVE、OWASP 类别或漏洞描述自动生成规则)。
  • 支持 30 多种语言,包括 python、javascript、typescript、java、go、ruby、php、csharp、c、rust、scala、kotlin、swift、terraform/hcl、yaml、dockerfile、solidity 等,也支持 generic 和 regex 模式。
  • 可生成搜索模式(结构匹配)或污点模式(数据流跟踪)规则。
  • 提供漏洞研究计划,使用 WebSearch 和 WebFetch 收集漏洞上下文、语言特定攻击面、现有检测覆盖情况。
  • 生成完整规则结构,包含规则 ID、消息、严重级别、语言、元数据(CWE、OWASP、引用、技术栈、置信度等)。
  • 自动生成配套测试文件,包含至少 2 个真阳性和 2 个真阴性用例。
  • 提供高级模式手册,涵盖缺失安全检查检测、污点字符串拼接检测、弱配置值检测、多调用变体检测、类型约束检测、多步污点标签等。
  • 提供误报减少方法,如 pattern-not、pattern-not-inside、metavariable-regex、安全类型排除、日志排除等。
  • 提供验证清单和批量生成流程。

使用方式

用户可通过自然语言请求触发,例如“创建规则”“编写规则”“生成规则”“检测某漏洞”,或提供 CVE、CWE、OWASP 参考。技能会先加载项目文档(docs/ai/RULES_SYNTAX.md、docs/ai/RULES_INDEX.md、docs/ai/RULES_ENGINE.md),并搜索现有规则(semgrep-rules/ 和 semgrep-rules-trailbits/)。随后根据漏洞类型选择规则模式,生成规则并展示供用户审核,用户批准后写入规则文件并生成测试文件,最后使用 opengrep 验证。

适用场景

  • 安全研究人员需要为特定漏洞创建检测规则。
  • 开发团队希望扫描代码库中某类漏洞并获取可复用规则。
  • 审计人员需要针对 CVE、CWE 或 OWASP 类别生成检测规则。
  • 用户分享代码片段并询问如何捕获该模式。

限制

  • 规则生成依赖项目文档和现有规则库的可用性。
  • 污点模式需要明确源、汇和净化器,否则可能产生误报。
  • 测试文件生成要求至少 2 个真阳性和 2 个真阴性,但实际效果取决于用户提供的示例质量。
  • 验证步骤需要 opengrep 工具可用。
  • 部分功能(如 WebSearch、WebFetch)依赖外部工具支持。