素材阁

Semgrep 速查

共 25 条 Semgrep 常用命令,涵盖基础、写规则、常用参数、CI 集成、实践。 支持搜索与分类筛选,点击即可复制。

基础

基于模式匹配的静态分析。

命令说明
安装
扫描
自动选择规则(联网)
用社区规则集
用自定义规则

写规则

YAML + 代码模式。

命令说明
规则骨架
元变量
逻辑组合
字段
元变量约束

常用参数

范围与输出。

命令说明
语言
输出
严重度
包含排除
增量

CI 集成

门禁与修复。

命令说明
CI 命令
GitHub 集成
失败门禁
自动修复
平台

实践

定位。

命令说明
语言覆盖
典型问题
分工
规则策略
与 CodeQL

使用说明

Semgrep 常用命令速查:基础、写规则、常用参数、CI 集成、实践;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:基础、写规则、常用参数、CI 集成、实践。
  2. 点「命令」列复制,替换语言与规则路径后执行。
  3. 先用 --config auto/社区规则快速见效,再写项目专属规则。
  4. CI 用 semgrep ci 或 GitHub Action,配合 --error 做门禁。

常见问题

Semgrep 和普通正则有何不同?
它按代码结构(近似 AST)匹配而非纯文本:用 pattern、$X 元变量等描述语义模式,能跨格式与变量名,误报更少。
--config auto 安全吗?
会联网拉取并运行规则,环境受限时改用本地 --config 指定规则集或文件,避免联网与隐私顾虑。
和 CodeQL 有何不同?
Semgrep 轻量、规则易写、上手快,适合快速左移与自定义反模式;CodeQL 做更深的数据流分析、更强但较重,二者常互补。

延伸阅读

相关工具