Semgrep 速查
共 25 条 Semgrep 常用命令,涵盖基础、写规则、常用参数、CI 集成、实践。 支持搜索与分类筛选,点击即可复制。
基础
基于模式匹配的静态分析。
| 命令 | 说明 |
|---|---|
| 安装 | |
| 扫描 | |
| 自动选择规则(联网) | |
| 用社区规则集 | |
| 用自定义规则 |
写规则
YAML + 代码模式。
| 命令 | 说明 |
|---|---|
| 规则骨架 | |
| 元变量 | |
| 逻辑组合 | |
| 字段 | |
| 元变量约束 |
常用参数
范围与输出。
| 命令 | 说明 |
|---|---|
| 语言 | |
| 输出 | |
| 严重度 | |
| 包含排除 | |
| 增量 |
CI 集成
门禁与修复。
| 命令 | 说明 |
|---|---|
| CI 命令 | |
| GitHub 集成 | |
| 失败门禁 | |
| 自动修复 | |
| 平台 |
实践
定位。
| 命令 | 说明 |
|---|---|
| 语言覆盖 | |
| 典型问题 | |
| 分工 | |
| 规则策略 | |
| 与 CodeQL |
使用说明
Semgrep 常用命令速查:基础、写规则、常用参数、CI 集成、实践;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基础、写规则、常用参数、CI 集成、实践。
- 点「命令」列复制,替换语言与规则路径后执行。
- 先用 --config auto/社区规则快速见效,再写项目专属规则。
- CI 用 semgrep ci 或 GitHub Action,配合 --error 做门禁。
常见问题
- Semgrep 和普通正则有何不同?
- 它按代码结构(近似 AST)匹配而非纯文本:用 pattern、$X 元变量等描述语义模式,能跨格式与变量名,误报更少。
- --config auto 安全吗?
- 会联网拉取并运行规则,环境受限时改用本地 --config 指定规则集或文件,避免联网与隐私顾虑。
- 和 CodeQL 有何不同?
- Semgrep 轻量、规则易写、上手快,适合快速左移与自定义反模式;CodeQL 做更深的数据流分析、更强但较重,二者常互补。
延伸阅读
相关工具
KTOR
Ktor 速查
embeddedServer / routing / plugins / HttpClient 速查
MNUT
Micronaut 速查
mn create-app / @Controller / @Inject 速查
SNTR
Sinatra 速查
get '/' / params / erb / set 速查
SLIM
Slim 速查
$app->get / PSR-7 / middleware 速查
BSTRP
Bootstrap 5 速查
container/row/col / btn / form / data-bs 速查
BLMA
Bulma 速查
columns/column / button / field / is-* 速查