静态源代码安全扫描工具测评结果汇总

news2024/11/18 21:33:10

测评背景

随着数字技术的进步,网络安全行业日益发展,企业对于DevSecOps的应用和落地的需求日益增加,静态源代码安全扫描工具已成为其中的关键产品或工具。同时,在代码安全审计或检测过程中,也需要选择一款合适的、好用的代码安全扫描工具作为人工辅助。

2023年5月30日,OWASP中国基于目前行业内的相关调研报告以及行业共识,发布了《静态源代码安全扫描工具测评基准》v2.0版本,对于静态源代码安全扫描工具的测评基准进行了升级,基准涵盖部署环境、安全扫描、漏洞检测、源码支持、扩展集成、产品交互以及报告输出七个维度。

在基准发布的基础上,【网安基地供应链安全检测中心】联合【武汉金银湖实验室】邀请国内各静态源代码安全扫描产品或工具的厂商开展了“静态源代码安全扫描工具测评活动”。

本次测评经过前期准备、宣传、厂商征集、产品沟通、产品测评、报告编写等环节,历时四个多月,共有六款产品参与测评,其中国内厂商的测评结果和报告已单独和厂商沟通,测评详情不对外发布。

经过严格的测评程序,现公布测评对比结果如下(其中一款产品的测评结果按照厂商要求不参与对比结果发布)。

参与厂商

(按拼音首字母排序,排名不分先后)


测评详情

基准测评项:

部署环境、安全扫描、漏洞检测、源码支持、扩展集成、产品交互、报告输出

部署环境:

处理器:Inter(R) Core(TM) i5-7200U

内存:16 GB

硬盘:500 GB

测评结果

本次测评从七个维度对产品进行测评,根据测评详情描述,测评结果分为:满足、部分满足和不满足。

- Checkmarx -

从七个维度进行测评,结论为:

部署环境:共2个分项,全部满足

安全扫描:共14个分项,其中9个满足,5个不满足

漏洞检测:共3个分项,全部满足

源码支持:共2个分项,其中1个满足,1个部分满足

扩展集成:共3个分项,全部满足

产品交互:共3个分项,全部满足

报告输出:共1个分项,全部满足

总计:满足22个,部分满足1个;不满足5个


- Fortify -

从七个维度进行测评,结论为:

部署环境:共2个分项,全部满足

安全扫描:共14个分项,其中8个满足,6个不满足

漏洞检测:共3个分项,全部满足

源码支持:共2个分项,其中1个满足,1个部分满足

扩展集成:共3个分项,全部满足

产品交互:共3个分项,全部满足

报告输出:共1个分项,全部满足

总计:满足21个,部分满足1个;不满足6个


- SonarQube -

从七个维度进行测评,结论为:

部署环境:共2个分项,全部满足

安全扫描:共14个分项,其中7个满足,1个部分满足,6个不满足

漏洞检测:共3个分项,其中2个满足,1个不满足

源码支持:共2个分项,其中1个满足,1个部分满足

扩展集成:共3个分项,其中2个满足,1个不满足

产品交互:共3个分项,全部满足

报告输出:共1个分项,1个不满足

总计:满足17个,部分满足2个;不满足9个


- CodeSec -

从七个维度进行测评,结论为:

部署环境:共2个分项,全部满足

安全扫描:共14个分项,其中9个满足,5个不满足

漏洞检测:共3个分项,全部满足

源码支持:共2个分项,全部满足

扩展集成:共3个分项,全部满足

产品交互:共3个分项,全部满足

报告输出:共1个分项,全部满足

总计:满足23个,部分满足0个;不满足5个


- Xcheck -

从七个维度进行测评,结论为:

部署环境:共2个分项,全部满足

安全扫描:共14个分项,其中9个满足,5个不满足

漏洞检测:共3个分项,全部满足

源码支持:共2个分项,其中1个满足,1个部分满足

扩展集成:共3个分项,全部满足

产品交互:共3个分项,全部满足

报告输出:共1个分项,其中1个部分满足

总计:满足21个,部分满足2个;不满足5个


- 总结 -

在部署环境方面,所有5个产品均满足了全部要求。

在安全扫描方面,CheckMarx、CodeSec和Xcheck表现最佳,满足了14个分项中的9个;Fortify满足了8个;SonarQube满足了7个,部分满足1个。

在漏洞检测方面,CheckMarx、Fortify、CodeSec和Xcheck均满足了全部3个分项的要求,而SonarQube只满足了2个。

在源码支持方面,CheckMarx部分满足,Fortify和SonarQube各满足1个和部分满足1个,而CodeSec完全满足,Xcheck满足1个,部分满足1个。

在扩展集成方面,CheckMarx、Fortify、CodeSec和Xcheck均完全满足了全部3个分项的要求,但SonarQube只满足了2个。

在产品交互方面,所有5个产品均满足了全部3个分项的要求。

在报告输出方面,CheckMarx、Fortify和CodeSec均满足了唯一的1个分项,SonarQube没有满足,而Xcheck部分满足。

综上可见,国内外产品在部署环境和产品交互等基础方面无明显差距,但在关键的安全扫描、漏洞检测、源码支持、扩展集成和报告输出等核心功能上,国内产品CodeSec和Xcheck有领先优势。其中,CodeSec产品在源码支持和报告输出两个维度上表现最为突出,Xcheck产品的整体功能和表现也较为均衡。相比之下,国外产品SonarQube在多个维度上有所欠缺,与其他产品存在一定差距。

总的来说,国内代码安全审计产品与国外同类产品平分秋色,在部分领域甚至略有领先。

作者:INSBUG

2024年3月11日 

洞源实验室


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1507827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

动态代理详解(原理+代码+代码解析)

动态代理 1.什么是动态代理? 动态代理是一种在运行的时候动态的生成代理对象的技术。它在不改变原始类的情况下,对原始类的方法进行拦截或者增强。 2.动态代理可以实现的功能? 使用动态代理可以实现如下常用功能: 1.AOP&#x…

Python实现线性查找算法

Python实现线性查找算法 以下是使用 Python 实现线性查找算法的示例代码: def linear_search(arr, target):"""线性查找算法:param arr: 要搜索的数组:param target: 目标值:return: 如果找到目标值,返回其索引;否则返回 -1…

Observer 模式

文章目录 💡问题引入💡概念💡例子💡总结 💡问题引入 假设有一个在线商店系统,用户可以订阅商品的库存通知。当某个商品的库存数量发生变化时,系统会自动发送通知给所有订阅了该商品的用户。设计…

Anaconda下载安装及配置pytorch环境

先解释一下Python、Anaconda、Pytorch是啥 Python是一种广泛使用的编程语言,在许多领域都有应用。它具有简洁的语法,易于学习,并且有大量的第三方库可以使用。 Anaconda是一个Python的包和环境管理软件,提供了许多用于数据科学&a…

融资利率选哪家好?

第一:怎么理解融资融券? 融资融券交易,又称“证券信用交易”,分为融资交易和融券交易。是指投资者通过向具有融资融券业务资格的证券公司提供担保物,借入资金买入证券(融资交易)或借入证券并卖…

前端基础篇-深入了解用 HTML 与 CSS 实现标题排版

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 HTML 与 CSS 概述 2.0 HTML - 标题排版 2.1 图片标签 2.2 标题标签 2.3 水平标签 2.4 实现标题排版 3.0 HTML - 标题样式(style 样式) 3.1 CSS 的引入方式 3.2…

docker学习入门篇

1、docker简介 docker官网: www.docker.com dockerhub官网: hub.docker.com docker文档官网:docs.docker.com Docker是基于Go语言实现的云开源项目。 Docker的主要目标是:Build, Ship and Run Any App, Anywhere(构建&…

ScaleKD: Distilling Scale-Aware Knowledge in Small Object Detector

ScaleKD: Distilling Scale-Aware Knowledge in Small Object Detector在小目标检测器中提取尺度感知知识 摘要 尽管通用目标检测取得了显著的成功,但小目标检测(SOD)的性能和效率仍然令人不满意。与现有的努力平衡推理速度和SOD性能之间的…

华为数通方向HCIP-DataCom H12-821题库(多选题:121-140)

第121题 以下哪些事件会导致IS-IS产生一个新的LSP? A、引入的IP路由发送变化 B、周期性更新 C、接口开销发生了变化 D、邻接Up或Down 【参考答案】ABCD 【答案解析】 第122题 以下哪些协议既支持网络配置管理又支持网络监控管理? A、Telemetry B、NETCONF C、SNMP D、LLDP …

机器视觉学习(一)—— 认识OpenCV、安装OpenCV

目录 一、认识OpenCV 二、通过pip工具安装OpenCV 三、PyCharm安装OpenCV 一、认识OpenCV OpenCV(Open Source Computer Vision Library,开源计算机视觉库)是一个跨平台的计算机视觉库,最初由威尔斯理工学院的Gary Bradski于199…

Node.Js编码注意事项

Node.js 中不能使用 BOM 和 DOM 的 API,可以使用 console 和定时器 APINode.js 中的顶级对象为 global,也可以用 globalThis 访问顶级对象 浏览器端js的组成 Node.js中的JavaScript组成 相比较之下发现只有console与定时器是两个API所共有的&#xff…

QQ邮箱API的安全性和隐私保护措施有哪些?

QQ邮箱API接口有哪些功能?如何申请电子邮箱API接口? QQ邮箱作为国内广受欢迎的电子邮箱服务,其API接口的安全性和隐私保护措施更是备受关注。那么,QQ邮箱API的安全性和隐私保护措施究竟有哪些呢?接下来,就…

ABAP接口部分-Web Service提供者与消费者

ABAP接口部分-Web Service提供者与消费者 文章目录 ABAP接口部分-Web Service提供者与消费者Web Service提供者Web Service测试配置[SOA网址](https://mysap.goodsap.cn:44300/sap/bc/webdynpro/sap/appl_soap_management )测试 Web Service消费者创建Services Consumer消费者创…

C# 中 Replace 字符串操作方法

在 C# 中,Replace 是一个字符串操作方法,用于替换字符串中的指定字符或子字符串。它接受两个参数:要查找和替换的字符串。Replace 方法在源字符串中查找所有匹配的字符或子字符串,并用指定的替换字符串进行替换。 下面是 Replace…

CV论文--2024.3.7

1、FAR: Flexible, Accurate and Robust 6DoF Relative Camera Pose Estimation 中文标题:FAR:灵活、准确和稳健的6DoF相机相对姿态估计 简介:在计算机视觉领域,估计图像之间的相对相机姿态一直是一个关键问题。通常,…

多核多cluster多系统之间缓存一致性概述

目录 1.思考和质疑2.怎样去维护多核多系统缓存的一致性2.1多核缓存一致性2.2多Master之间的缓存一致性2.3dynamIQ架构同一个core中的L1和L2 cache 3.MESI协议的介绍4.ACE维护的缓存一致性5.软件定义的缓存和替换策略6.动图示例 本文转自 周贺贺,baron,代…

Day6 java 常用API

文章目录 1、Calendar1.1 Calendar日历对象 2、JDK8 之后新增的时间类2.1 LocalDate、LocalTime 、LocalDateTime2.2 ZoneId 、ZoneIdTime2.3 Instant2.4 DateTimeFormatter2.5 Period2.6 Duration 1、Calendar 在了解calendar之前,先用SimpleDateFormat 写一个小例…

企企通解决方案总监汤水卿:打造企业间接采购数字化平台,赋能供应链高效跃进新篇章

3月5日,国务院总理李强在政府工作报告中提出,制定支持数字经济高质量发展政策,积极推进数字产业化、产业数字化,促进数字技术和实体经济深度融合。 近日,企企通受邀参加了2024华南采购峰会,与各行各业的采购…

C#/.NET/.NET Core拾遗补漏合集(持续更新)

前言 在这个快速发展的技术世界中,时常会有一些重要的知识点、信息或细节被忽略或遗漏。《C#/.NET/.NET Core拾遗补漏》专栏我们将探讨一些可能被忽略或遗漏的重要知识点、信息或细节,以帮助大家更全面地了解这些技术栈的特性和发展方向。 GitHub开源地…

电脑右下角出线白色弹窗的解决方法

电脑无缘无故,在右下角出现一个白色弹窗,无法关闭,非常恶心,后来经过查询,发现可能是360之类的弹bug,解决只需要: 1、鼠标左键 点击一下白框 2、键盘输入 AltF4 虽不是技术问题,但解…