三分钟上手Semgrep,让代码扫描更便捷

你是不是还只会用AI写功能,完善代码,并没有实现AI全流程。
如果你想实现AI全流程自动化,静态代码扫描必不可少!今天主要说一下Semgrep这个工具,其余还有很多类似的工具,但是他更全面,而且完全足够支撑你的Ai全流程自动化。
Semgrep 是一款快速、开源的静态分析工具,可用于搜索代码、发现漏洞,并执行安全防护和编码标准。Semgrep 支持 30 多种语言,可在 IDE 中运行,作为提交前检查,也可集成到 CI/CD 工作流中。

Semgrep Code 支持 30 多种语言,包括:
Apex · Bash · C · C++ · C# · Clojure · Dart · Dockerfile · Elixir · HTML · Go · Java · JavaScript · JSX · JSON · Julia · Jsonnet · Kotlin · Lisp · Lua · OCaml · PHP · Python · R · Ruby · Rust · Scala · Scheme · Solidity · Swift · Terraform · TypeScript · TSX · YAML · XML · 通用型(ERB、Jinja 等)
Semgrep Supply Chain 支持 12 种语言及 15 个包管理器,包括:
C# (NuGet) · Dart (Pub) · Go(Go modules、go mod) · Java(Gradle、Maven) · JavaScript/TypeScript(npm、Yarn、Yarn 2、Yarn 3、pnpm) · Kotlin(Gradle、Maven) · PHP (Composer) · Python(pip、pip-tool、Pipenv、Poetry) · Ruby (RubyGems) · Rust (Cargo) · Scala (Maven) · Swift (SwiftPM)
为什么会先选择Semgrep
-
支持静态应用安全测试、软件成分分析或密钥扫描
-
使用简单,可以完美的集成到开发工具中,对话命令即可执行
-
支持 30 多种语言,多个包管理器
-
速度够快,扫描的够全面,可直接生成多种类型的报告
-
可定制话,项目规则自定义
安装方法:
我们这里只说命令行的步骤,不说cli,这个你们自己去注册,可视化操作即可。
一是从源码安装
git clone https://gitcode.com/GitHub_Trending/se/semgrep
cd semgrep
make install
如果报错,就是版本不对,找特定的版本
二是pip安装
pip install semgrep
这个报错几率就更大了,pip报错,就换成pipx,这肯定可以。
下面说一下使用方法:
🎯 快速开始:3步完成首次代码扫描
- 基本扫描命令
在项目根目录运行以下命令,Semgrep将自动扫描代码:
semgrep scan --config auto
如果是其他ai工具中使用
/bash semgrep scan --config auto
*这俩条命令不会生成报告,会直接在控制台中打印整体报告,如果需要详细报告,可以对话输出。
- 扫描结果
扫描完成后,你可以让Semgrep给出详细的报告,它会输出完整的内容,问题的具体位置,是什么问题,问题的类型,具体路径,还可以给出你修改建议,标注严重性等。
我这里使用的是opencode,直接对话我需要的文件类型,输出给我,注意,它默认不会输出html,但是你可以让ai转换,这样更可观。
- 自定义规则
这里地方,我还没有使用,但是根据官方的文档,可以设置很多的自定义规则,可操作性多。


总结:
建议直接集成到ai中,不要单独使用,单独使用就失去它的意义了,单独使用有很多可选择的软件,更方便,功能更强大。
使用方法直接按照官方文档即可,基本都可用,不会踩坑。
有什么问题大家也可以讨论,明天我再试试其他工具,对比一下效果
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)