你是不是还只会用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步完成首次代码扫描

  1. 基本扫描命令

在项目根目录运行以下命令,Semgrep将自动扫描代码:

semgrep scan --config auto
如果是其他ai工具中使用
/bash semgrep scan --config auto

*这俩条命令不会生成报告,会直接在控制台中打印整体报告,如果需要详细报告,可以对话输出。

  1. 扫描结果

扫描完成后,你可以让Semgrep给出详细的报告,它会输出完整的内容,问题的具体位置,是什么问题,问题的类型,具体路径,还可以给出你修改建议,标注严重性等。

我这里使用的是opencode,直接对话我需要的文件类型,输出给我,注意,它默认不会输出html,但是你可以让ai转换,这样更可观。

  1. 自定义规则

这里地方,我还没有使用,但是根据官方的文档,可以设置很多的自定义规则,可操作性多。

总结:

建议直接集成到ai中,不要单独使用,单独使用就失去它的意义了,单独使用有很多可选择的软件,更方便,功能更强大。

使用方法直接按照官方文档即可,基本都可用,不会踩坑。

有什么问题大家也可以讨论,明天我再试试其他工具,对比一下效果

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐