四款优秀的源代码扫描工具简介

article/2025/10/24 12:36:48

转载于:https://www.cnblogs.com/xiaominggong/archive/2019/05/06/10821005.html

一、DMSCA-企业级静态源代码扫描分析服务平台

    端玛企业级静态源代码扫描分析服务平台(英文简称:DMSCA)是一个独特的源代码安全漏洞、质量缺陷和逻辑缺陷扫描分析服务平台。该平台可用于识别、跟踪和修复在源代码中的技术和逻辑上的缺陷,让软件开发团队及测试团队快速、准确定位源代码中的安全漏洞、质量和业务逻辑缺陷等问题,并依据提供的专业中肯的修复建议,快速修复。提高软件产品的可靠性、安全性。同时兼容并达到国际、国内相关行业的合规要求。    

 DMSCA是端玛科技在多年静态分析技术的积累及研发努力的基础上,联合多所国内及国际知名大学、专家共同分析全球静态分析技术的优缺点后、结合当前开发语言的技术现状、源代码缺陷的发展势态和市场后,研发出的新一代源代码企业级分析方案旨在从根源上识别、跟踪和修复源代码技术和逻辑上的缺陷。该方案克服了传统静态分析工具误报率(False Positive)高和漏报(False Negative)的缺陷。打断了国外产品在高端静态分析产品方面的垄断,形成中国自主可控的高端源代码安全和质量扫描产品,并支持中国自己的源代码检测方面的国家标准(GB/T34944-2017 Java、GB/T34943-2017 C/C++、GB/T34946-2017 C#),致力于为在中国的企业提供更直接,更个性化的平台定制和本地化服务。    

 DMSCA支持主流编程语言安全漏洞及质量缺陷扫描和分析,支持客户化平台界面、报告、规则自定义,以满足客户特定安全策略、安全标准和研发运营环境集成的需要。产品从面世,就获得了中国国内众多客户的青睐,这些客户包括但不限于银行、在线支付、保险、电力、能源、电信、汽车、媒体娱乐、软件、服务和军事等行业的财富1000企业。

    1、系统架构

2、系统组件

3、产品界面

4、集成SDLC

 五 、主要功能及特性

 操作系统独立。代码扫描不依赖于特定操作系统,只需在在企业范围内部署一台扫描服务器,就可以扫描其它操作系统开发环境下的代码。

编译器独立、开发环境独立,搭建测试环境简单快速且统一。由于采用了独特的虚拟编译器技术,代码扫描不需要依赖编译器和开发环境,无需为每种开发语言的代码安装编译器和测试环境,只需要通过客户端、浏览器、开发环境集成插件登录到we服务器。

工具学习、培训和使用的成本少,最小化影响开发进度。由于编译器、操作系统和开发环境独立,使用者无需去学习每种平台下如何去编译代码,调试代码、如何扫描测试代码,无需去看每种平台下繁琐的使用手则。因为端玛代码扫描系统服务只需要提供源代码即可扫描,并给出精确的扫描结果。 

低误报。 DMSCA企业服务在扫描过程中全面分析应用的所有路径和变量。准确地分析结果,验证可能的风险是否真正导致安全问题,自动排除噪音信息,扫描结果几乎就是最终的分析结果,误报率(False Positive)几乎为零。极大的减少了审计分析的人工劳动成本,极大节省了代码审计的时间,为开发团队赢得更多的开发时间。 

 安全漏洞覆盖面广且全面 (低漏报)。数以百计的安全漏洞检查适合任于何组织,支持最新的OWASP 、CWE、SANS、PCI、SOX、GDPR、等国际权威组织对软件安全漏洞的定义,同时支持中国国家源代码安全检测标准(GB/T34944-2017 Java、GB/T34943-2017 C/C++、GB/T34946-2017 C#)。漏洞覆盖面广,安全检查全面,其自定义查询语言可以让用户灵活制定需要的代码规则,极大的丰富组织特定的代码安全和代码质量的需要。

安全查询规则清晰且完全公开实现。规则定义清晰,并完全公开所有规则的定义和实现让用户清楚知道工具如何去定义风险、如何去查找风险,透明各种语言风险。让用户知道工具已经做了那些工作,没有做那些该工作。而不是给用户一个黑匣子,用户无法了解工具的细节和缺陷,无法在代码审计过程中规避工具的风险(比如漏报和误报),比如利用人工或者其它手段查找工具不能定位的问题。

安全规则自定义简单高效。由于公开了所有规则实现的细节和语法,用户可以快速修改规则或者参考已有的规则语句自定义自己需要规则,规则学习,定义简单高效。能快速实现组织软件安全策略。

业务逻辑和架构风险调查。端玛代码扫描系统服务可以对所有扫描代码的任意一个代码元素(词汇)做动态的数据影响、控制影响和业务逻辑研究和调查。分析代码逻辑和架构特有的安全风险,并最后定义规则精确查找这些风险。这是目前唯一能动态分析业务逻辑和软件架构的静态技术。

攻击路径的可视化,并以3D形式展现。每一个安全漏洞的攻击模式和路径完全呈现出来,以3D图形的方式显示,便于安全问题调查和分析。

支持主流语言:Java、JSP、JavaSript、VBSript、C#、ASP.net、VB.Net、VB6、C/C++、ASP、PHP、Python、Swift、Ruby、Perl、PL/SQL、Android、OWASP ESAPI、MISRA、obxxxxjective-C (iOS)、API及第三方语言。

支持的主流框架(frxxxxamework):Struts、Spring、Ibatis、GWT、Hiberante、Enterprise Libraries、 Telerik、ComponentArt、Infragistics、FarPoint、Ibatis.NET、Hibernate.Net [*]、MFC。可针对客户特定框架快速定制支持。

服务独立,全面的团队扫描支持。作为服务器运行。开发人员、管理人员和审计人员都可以凭各自的身份凭证从任何一处登录服务器,进行代码扫描、安全审计、团队、用户和扫描任务管理。

高度自动化扫描任务。自动集成版本管理(SubVersion、TFS、Git、其它)、SMTP邮件服务器和Windows账户管理,实现自动扫描代码更新、自动扫描、自动报警和自动邮件通知等。

支持多任务排队扫描、并发扫描、循环扫描、按时间调度扫描,提高团队扫描效率。

云服务实现:支持跨Internet实现源代码安全扫描“云服务”。

支持最佳修复位置建议 ,图形显示最佳修复点。

支持客户化平台定制:定规则、定策略、定界面、定报告、定流程、定规范及接口集成。

 

二、VeraCode静态源代码扫描分析服务平台

Veracode静态源代码分析服务平台是全球商业运营最好的平台,全球数千家 软件科技公司都在使用其服务发现软件安全漏洞、质量缺陷。

 

支持众多主流的开发语言和框架:   

 Java

.NET

 jaxxxxvascxxxxript & Typescxxxxript (including AngularJS Node.js and jQuery)

 Python Perl PHP Ruby on Rails Scala ColdFusion Classic ASP

iOS (obxxxxjective-C and Swift) Android (Java) PhoneGap Cordova Titanium Xamarin

 C/C++ (Windows RedHat Linux OpenSUSE Solaris)

 COBOL RPG Visual Basic 6

 

三、Fortify Scan

      Fortify SCA是一个静态的、白盒的软件源代码安全测试工具。它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态分析,分析的过程中与它特有的软件安全漏洞规则进行全面地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并给于整理报告。

 

四、Checkmarx

      Checkmarx的CxEnterprise静态源代码安全漏洞扫描和管理方案是一款比较全面的、综合的源代码安全扫描和管理方案,该方案提供用户、角色和团队管理、权限管理、扫描结果管理、扫描调度和自动化管理、扫描资源管理、查询规则管理、扫描策略管理、更新管理、报表管理等多种企业环境下实施源代码安全扫描和管理功能。


http://chatgpt.dhexx.cn/article/BsdrB0pX.shtml

相关文章

SonarQube代码扫描工具

SonarQube(社区版) SonarQube是一个用于代码质量管理的开放平台,通过插件机制,SonarQube可以集成不同的测试工具,代码分析工具,以及持续集成工具,例如Hudson/Jenkins等。 sonarqube的七个维度检测代码质量: 复杂度分布:代码复杂度过高将难以理解重复代码:程序中包含…

java代码扫描工具比较_代码扫描工具的选型和Sonar最佳实践

目标 在编码阶段发现NNE空指针异常、IO流未正确关闭等致命性bug,杜绝此类“零容忍”线上异常的发生。 技术选型 关于代码扫描工具,比较主流的有Sonar、FindBugs、Alibaba Java Coding Guidelines、CheckStyle。 Alibaba Java Coding Guidelines最大的优点是全中文的提示,对国…

静态代码扫描工具汇总

一、概述 在软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷。传统的代码评审、同事复审,通过人工方式来检查缺陷仍然是一件耗时耗力的事情。而静态代码扫描工具能够在代码构建过程中帮助开发人员快速、有效的定位代码缺陷并及时…

用户行为序列推荐模型

导读:今天我们谈谈用户行为序列上的推荐模型。首先我们对序列推荐问题做一个定义和描述,然后主要讲述可以用在序列推荐任务中的 NN 模型,最后给出一点个人看法以及文中相关的参考文献供参阅。 用户行为大多数情况下都是存在时间上的先后关系…

用户兴趣模型分类以及推荐系统技术调研

用户兴趣模型分类 根据用户之前在相关网站的行为数据记录分析出用户的兴趣和偏好,然后根据不同用户兴趣和偏好不同为其推荐不同的内容,这种新的信息获取方式被称为个性化推荐技术。 个性化新闻推荐系统中常用的几种用户兴趣建模方法: &…

用户生命周期模型

本文转载自: https://blog.csdn.net/l18930738887/article/details/50818878 一、为什么要定义用户生命周期? 用户生命周期是为了定位每个用户在哪个阶段,对于某个阶段的用户进行不同的营销策略。比如初期用户:还没有养成使用习…

Django重写User模型修改明文密码加密方法

由于继承Django的User列表会导致创建新用户的密码为明文,导致无法正常登陆,因此需要修改adminx中的部分配置实现原始的用户密码记录功能。 从这样的界面进入注册用户的密码就是加密的密码效果了,否则是显示明文密码非加密状态。 文章目录 实现步骤实现步骤 需要在项目的m…

【模型理解】KANO模型

前言 在大量的需求需要进行迭代时,由于时间、人力、财力等相关因素干扰,无法在有限的时间内容对所有的需求进行满足,此时需要我们对需求进行优先级的排列。最大化的合理的提高有限资源的使用。 在常见的产品优先级区分的方式有时间四象限模…

软件工程的十大模型

1.软件生命周期模型 软件生命周期由软件定义、软件开发与运维(也称软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。 问题定义:“要解决的问题是什么?”通过对客户的访问调查,系统分析员扼要地写出…

SaaS用户管理系统模型设计

最近一直在研究关于SaaS化的用户管理系统,现将项目中的模型做一整理,先贴图: 图中黄色方框:租户/组织、部门、员工 完成的是对整个组织结构及结构中人员分布的管理; 图中绿色方框:系统用户(包括…

认识每一个“你”:微博中的用户模型

社交媒体(Social Media)相对于传统互联网媒体的最大区别是通过建立人与人之间的联系,极大提升了信息生产量以及传播效率。身处社交媒体中的每个人或组织同时扮演着信息生产者、传播者与接受者的角色。 在社交媒体背景下,用户生产…

Django默认用户模型类和父类 AbstractUser 介绍

Django默认用户模型类 Django 框架默认使用一个 User 模型类, 保存有关用户的数据。 例如: 我们定义 admin 站点时, 定义的超级用户信息, 就是存储在 User 模型类对应的表中。 我们可以通过 select * from auth_user; 查看数据表。 这个表里就是我们保存的管理员信息,是由用户…

RFM用户分层模型|原理+Python全流程实现

RFM 模型 在数据分析中经常会进行用户分层,本文我们来了解一下常见的用户分层模型RFM。 RFM概念 RFM是由R(Recency)、F (Frequency)、 M(Monetary) 三个维度构成的,其具体含义如下: R:最近一次消费时间间隔 F:消费频…

用户增长——AARRR模型

AARRR模型是做用户分析的经典模型之一。它以完整的用户生命周期为线索,描述了用户使用产品需经历的五个环节,最终获取商业价值。什么是AARRR模型? AARRR是由五个单词的首字母组成,分别代表【获取、激活、留存、收入、传播】五个阶…

如何定义用户模型(persona)

一、什么是用户模型? Persona([pə:səunə]):(Persona是用户模型的的简称)是虚构出的一个用户用来代表一个用户群。一个persona可以比任何一个真实的个体都更有代表性。一个代表典型用户的persona的资料有性别、年纪、收入、地域…

用户漏斗模型

原创不易,麻烦点个关注,点个赞,谢谢各位。 漏斗模型是什么? 漏斗模型是一个看似简单的评判产品健康度的数据工具,简单来说,就是通过产品每一个设计步骤的数据反馈得出产品的运行情况,然后通过各阶段的具体分析改善产品的设计,提升产品的用户体验。 漏斗模型符合自然规…

用户分层之RFM模型

目录 一、简介二、模型三、应用 一、简介 RFM模型是衡量用户价值的模型,其中具体含义: Recency:最近一次消费时间间隔Frequency:消费频率,一段时间(比如1年)内的消费次数Monetary:…

Django数据库学习——定义用户模型(实例)

(1)创建一个应用,HelloWorld (2)新建models.py, 定义系统用户模型 from django.db import modelsclass sysuser(models.Model):usernamemodels.CharField(max_length20,uniqueTrue)passwordmodels.CharFie…

数据分析之RFM——用户模型分析(附案例数据和代码)

本文从RFM模型概念入手,结合实际案例,详解Python实现模型的每一步操作,并提供案例同款源数据,以供同学们知行合一。 看这篇文章前源数据长这样: 学完后只要敲一个回车,源数据就变成了这样: 是…

浅谈用户营销模型AIPL

进入互联网下半场,由于人口红利带来的流量越来越珍贵,作为C端厂商,获取流量的成本变的越来越高,如何经营好已有的流量变的关键。 在经营用户方面有个例子我觉得特别有意思,小时候东北家家都爱吃大酱,有一个…