Semgrep:提交前 30 秒扫一遍代码的静态分析工具

发布时间:2026/9/10 14:29:35
Semgrep:提交前 30 秒扫一遍代码的静态分析工具 Semgrep提交前 30 秒扫一遍代码的静态分析工具【免费下载链接】semgrepLightweight static analysis for many languages. Find bug variants with patterns that look like source code.项目地址: https://gitcode.com/GitHub_Trending/se/semgrepcode review 时最烦的不是读新代码而是把 diff 里每个改动都往安全写法的角度上对一遍还总漏。Semgrep 的思路很直接用一段长得像源码的模式去匹配代码漏掉的pickle、缺参数的exec这类问题30 秒内列给你看。装完直接跑先扫出存量问题克隆仓库装依赖git clone https://gitcode.com/GitHub_Trending/se/semgrep cd semgrep pip install -e .跑一次 baseline只看新增问题全量扫描的噪音很大老代码里的历史欠账会把新问题淹没。--baseline-commit只报告相对基线提交新增的发现提 PR 前拿上一个提交做基线最合适semgrep scan --config auto --baseline-commit HEAD~1默认配置会自动按项目里出现的语言挑规则跑完的输出长这样左边是命中数右边是具体代码行只扫要审的目录--include和--exclude接受 glob把测试目录、生成代码挡在外面semgrep scan --config auto --exclude tests --exclude node_modules写一条规则抓住你团队的坏味道从内置规则里抄一段官方规则集就在仓库里Python 安全规则 这种写法可以直接改着抄。下面是抓pickle的典型片段rules: - id: no-pickle languages: [python] severity: ERROR message: 别反序列化不可信数据换 json pattern: pickle.loads(...)pattern支持省略参数pickle.loads(x)、pickle.loads(data, protocol4)都能命中不用写死参数。存到项目里跑一次验证规则放进仓库根目录的semgrep.yml然后semgrep scan --config semgrep.yml命中时会在输出里带上代码行和 messagereviewer 一眼能看懂问题出在哪接进流水线提交即检查GitHub Actions 加一个 job- name: Semgrep run: | pip install semgrep semgrep scan --config auto --error--error让命中非零退出CI 直接红掉问题拦在合并之前。其他平台同样一个命令GitLab CI、Jenkins 都是跑同一条semgrep scan只是位置不同仓库里 e2e 测试用的多语言目标项目 可以直接当扫描对象试。官方面向 CI 的命令在 cli/src/semgrep/commands/ci.py会多输出 SARIF方便平台展示。扫得慢、噪音大三个参数收一收指定规则子集auto会拉全部适用规则大仓库明显变慢。只留你关心的几个文件semgrep scan --config perf/r2c-rules/python.yml --config perf/r2c-rules/javascript.yml按规则 id 静音某条规则误报多不用删规则按 id 静音semgrep scan --config auto --exclude-rule no-pickle开满并行默认线程数保守CI 机器配置好的话直接拉高semgrep scan --config auto --jobs 16把no-pickle这条规则存到仓库根目录CI 里换成--config semgrep.yml --error下次提交就有机器帮你盯着 diff 了。【免费下载链接】semgrepLightweight static analysis for many languages. Find bug variants with patterns that look like source code.项目地址: https://gitcode.com/GitHub_Trending/se/semgrep创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询