SuperAPI AI 工具集

semgrep

安全与审计

查看项目

更新于 10-16 08:48

技能介绍

Semgrep 用于快速静态分析、安全扫描和模式匹配,适合分钟级安全扫描、基于模式的漏洞检测、编码规范落实、OWASP Top 10 与 CWE Top 25 模式发现、文件内污点分析与数据流跟踪、自定义规则开发、CI/CD 安全门禁及多语言扫描,可作为深入工具前的首轮分析。

主要能力包括:内置与社区规则集(如 p/default、p/security-audit、p/owasp-top-ten、p/cwe-top-25、p/trailofbits、各语言规则集);YAML 自定义规则,支持 pattern、patterns、pattern-either、pattern-not、pattern-inside、pattern-regex、metavariable-regex、metavariable-comparison 等操作符;taint 模式定义 source、sink、propagator、sanitizer 跟踪数据流;输出 SARIF、JSON、JUnit XML、GitLab SAST、文本等格式;支持 --autofix 自动修复、--dataflow-traces、路径过滤与 .semgrepignore。

安装可用 pipx install semgrep、python3 -m pip install semgrep、brew install semgrep 或 Docker 镜像 returntocorp/semgrep,通过 semgrep --version 验证。常用方式:semgrep --config auto . 快速扫描;semgrep --config p/security-audit --sarif -o results.sarif . 输出 SARIF;semgrep --test rules/ 测试规则;CI 中可用 semgrep ci 并结合基线提交做差异扫描。

限制:社区版仅支持文件内污点分析,跨文件与跨过程数据流、供应链和密钥检测属 Pro 能力;模式匹配无法理解复杂业务逻辑,大型代码库多规则时可能较慢,正则规则易误报,部分语言规则覆盖有限。跨文件数据流、二进制分析、密钥检测(可用 Gitleaks)、依赖漏洞扫描(OSV-Scanner/Depscan)、IaC 安全(KICS)等应使用其他工具。