自动化代码审计,真牛

文摘   2024-08-29 08:06   江西  

AI编程助手带来的问题

自从AI技术发展以来

一直有一种说法

AI将替代程序员的岗位

各大厂商提供的大模型

基本上都涵盖了编程辅助功能

有如阿里达摩院

甚至还推出了通义灵码编程助手

以及工号 AI001 的虚拟员工


不禁有人要问

我还能干到35岁吗

实际操练使用之后

我对AI编程的评价是

可以解决一些问题,例如算法实现

但针对具体业务的代码实现

还是有一些问题的

需要程序员进行人工甄别

如何审计代码

很多人都觉得

审计是项目组长、技术经理这些管理层的事

与吾何干

其实有了AI工具之后

他们就相当于我们手下的小程序员

对它们做代码审计、甄别质量

变成了很重要的一件事

作为自己成果的一部分

相当于完成自测的必要步骤

今天给大家推荐一款工具 Sonar

实现自动化审计功能

何为 Sonar

这是一款由sonarsource发布的产品线

宣传语叫做 keep AI generated code clean

即确保AI生成的代码是合格的

让我们充分利用到AI助手的强大功能

而不会出现糟糕、不安全的代码风险


它的产品线包括三个组成部分:

sonarlint、sonarqube、sonarcloud

sonarlint 用于IDE插件

对自己本地的代码进行检查

sonarqube 是一个服务器软件

可以和GIT等平台进行交互

对漏洞和问题进行分析

sonarcloud 是云原生的服务组件

提供云端的分析功能,且和CI/CD流程结合运用

sonarlint 快速入门

我们先从最简单的入手

sonarlint 提供各种IDE的插件

让我们在开发工具中就可以简单集成使用

例如常用的 VS Code、Intellij IDEA、Visual Studio、Eclipse、PyCharm、Android Studio 都提供对应的插件功能

每一种安装方法略有不同

安装

这里举几个例子

VS Code 是最常见的轻量IDE

它自带插件扩展功能

只需在扩展搜索里查找 sonar

就能看到好几个选项

选择第一个 SonarLint 即可

点击 install 进行安装

非常简单

安装完成后

在扩展图标的下面

会多一个圆形图标 SonarLint

点进进去

可以看到Rules规则设置

包括各种语言的本地离线分析规则

也可以选择 Connected Mode

允许连到特定的 SonarQube 或 SonarCloud 服务端

使用服务器配置的分析规则

大家可以先不做改动

直接先使用本地默认

使用

安装好之后使用非常简单

只需打开对应的源代码文件

Sonar就会在后台自动分析

并将结果显示在 问题 Problem 面板中

比如无效的代码

不安全的写法

看起来和IDE普通的错误提示很相似

但它的角度是不一样的

一般的错误提示

告诉你的是这里有错

而Sonar给的提示

更多的是告诉你

这样写不好

应该换一种高效、安全的写法

这不就和AI助手匹配上了吗

AI管代码生成

Sonar负责代码分析审计

珠联璧合天生一对


其他的IDE

可以通过各自的插件市场进行安装

认准关键词 Sonar 就可以了

弯道超车

年轻的同学面对公司的前辈大佬

经常有一些高山仰止的感觉

心想,我什么时候也能如此NB

那么机会来了

有些工具可以让我们事半功倍

甚至还能从中学到各种技巧

何乐而不为呢

反正不要钱

还不赶紧试试


Java面试教程
Java面试题、Java教程、Java培训、Java学习、Java开发、Java基础、Java入门,关于Java的一切。
 最新文章