用途:为自有代码库开发自定义 Semgrep 规则,检测项目特定漏洞、执行编码规范、编写 CI/CD 安全门禁规则,并将漏洞模式固化为可复用检查。仅限授权防御性安全分析与受控环境教育用途,禁止用于绕过安全控制、未授权扫描或非法活动。
主要能力:支持简单模式匹配、pattern-either(或)、pattern-not(排除)、pattern-inside/pattern-not-inside(上下文限定)、metavariable-regex 与 metavariable-comparison(元变量约束)、focus-metavariable(定位),以及 taint 模式追踪 source 到 sink 的数据流。提供 SQL 注入、XSS、硬编码密钥、缺失认证、不安全随机数等模板,并支持 fix 字段给出修复建议。
使用方式:先定义检测目标(检测内容、原因、语言、正例、反例、误报风险),再编写规则,包含 id、message、severity、languages、metadata(CWE、OWASP、confidence、impact 等)与 pattern。随后编写测试文件,用 // ruleid: 与 // ok: 标注正反例,运行 semgrep --test --config=rules/ tests/ 测试,用 semgrep --validate --config=rules/ 校验语法。
适用场景:自有代码库安全审计、代码评审自动化、CI/CD 安全门禁、质量规范强制。
限制:规则须至少含 2 个正例与 2 个反例测试;提交前必须用 semgrep --validate 校验;未经真实代码库测试不得标为 HIGH confidence;消息须说明发现内容、影响与修复方式;不应以 pattern-regex 作为主要匹配手段。资料未提供具体安装命令、收费与平台信息。