Coverity 代码静态安全扫描工具 : 认识Coverity
【摘要】 Coverity是一款快速、准确且高度可扩展的静态分析 (SAST) 解决方案,可帮助开发和安全团队在软件开发生命周期 (SDLC) 的早期解决安全和质量缺陷,跟踪和管理整个应用组合的风险,并确保符合安全和编码标准。
1. 概述
Coverity是一款快速、准确且高度可扩展的静态分析 (SAST) 解决方案,可帮助开发和安全团队在软件开发生命周期 (SDLC) 的早期解决安全和质量缺陷,跟踪和管理整个应用组合的风险,并确保符合安全和编码标准。
在编写代码时,Coverity尽早识别关键的软件质量缺陷和安全漏洞。在开发过程中,当它成本最低且最容易修复时。精确的可操作修复建议和特定于上下文的 eLearning 可以帮助开发人员了解如何快速修复他们的优先级问题,而不必成为安全专家。Coverity无缝地将自动化安全测试集成到您的CI/CD管道中,并支持您现有的开发工具和工作流。
Coverity为应用程序在不同软件开发生命周期(SDLC)阶段的风险态势的整体视图。
- 安全团队可以查看整个应用程序组合的集中风险概要。其中通过API访问允许将结果导入到其他风险报告工具中。
- 可以按类别过滤已识别的漏洞,查看趋势报告,基于关键度对漏洞进行优先补救,并跨团队和项目管理安全策略合规(例如OWASP Top 10, CWE Top 25,和PCI DSS)。
- “随时间变化的问题”报告显示不同时间段的严重程度,并为您提供有关项目安全状况的即时信息。PDF报告下载允许审核员维护详细的合规记录。
1.1 目录结构
Linux系统下的Coverity 发布包,其顶层目录结构如下:
.
├── bin
├── brakeman-pro
├── build.py
├── certs
├── closure-compiler
├── config
├── doc
├── dotnet
├── dtd
├── dynamic-analysis
├── eagleye.py
├── forcheck
├── HIS
├── jars
├── jdk11
├── jre
├── jshint
├── lib
├── library
├── locale
├── node
├── python3.4
├── ruby
├── spotbugs
├── spotbugs-ext
├── support-angularjs
├── template-da
├── uninstall
├── VERSION
├── VERSION.xml
├── xsl
└── yarn
windows系统下的Coverity 发布包,其顶层目录结构如下:
2. 集成生态
2.1 端侧IDEs
Code Sight™ IDE插件,开发人员在编写代码时可以在几秒钟内得到准确的分析。它快速准确的增量分析在后台运行,以尽量减少干扰,直接在 IDE 内为开发人员提供实时结果,包括缺陷描述、类别、严重性、CWE信息、缺陷位置、详细的修复建议、数据流跟踪信息,以及IDE中的问题分类和管理功能。相关插件的下载地址:
- Visual Studio插件
- Intellij IDEA|WebStorm|PyCharm|PhpStorm|RubyMine 插件
- Eclipse插件
- Visual Studio Code
2.2 版本控制
Accurev、ClearCase、CVS、GIT、Mercurial、Perforce、Plastic、SVN和Team Foundation Server
2.3 Ticketing系统
- Jira
- Bugzilla
2.4 持续集成/持续部署
- Jenkins
- Azure DevOps Server
2.5 构建工具
在操作系统流程层次监测您的构建系统来获得每一个操作的清晰视图,展现您的软件。
Gradle/Ant/Maven/CMake/Make等
2.6 合作伙伴集成
REST api可用于支持其他构建自动化解决方案,以及将分析结果导入其他企业或自定义工具。
3. 检查能力
3.1 支持的语言
Coverity为 21 种语言提供广泛的安全和质量检查支持。
3.2 支持的框架
Coverity支持Java、JavaScript、c#和其他语言的70多个不同框架。Coverity还支持与AWS服务(EC2, S3, DynamoDB, IAM)和谷歌云存储API (GCP)交互的云本地JavaScript应用程序的主要云提供商API框架的安全建模。
语言 | Framework | Framework | Framework | Framework |
---|---|---|---|---|
Java | Android SDK | GWT | Vert.x | JSP and JSP Standard Tag Library(JSTL) |
Java | Apache Shiro | Hibernate | JAX RS | ReactiveX (RxJava, Reactor) |
Java | Axis | iBatis | JAX WS | Enterprise Java Beans (EJBs) |
Java | DWR | Java Frameworks | JEE | Java Persistence API (JPA) |
Java | Restlet | Spring Boot | JSF/Facelets | Spring Framework |
Java | Struts | Terasoluna | Tiles | Javax.websocket |
Java | WS XML-RPC | |||
C# | ASP.NET Web Forms | Identity Server | MassTransit | ASP.NET Core MVC/ASP.NET MVC |
C# | ASP.NET ASMX Web Services | Razor templates | WCF Services | ASP.NET Core MVC/ASP.NET MVC |
JS/TS:Client-side | Angular | Apache Cordova | Bootstrap | HTML5 DOM APIs/Ajax |
JS/TS:Client-side | Angular JS | Backbone | Ember | React/ Preact |
JS/TS:Client-side | jQuery | Mithril | Socket.IO | Swig |
JS/TS:Client-side | Vue | |||
JS/TS:Server-side | Express | Fastify | Hapi | Angular server-side rendering (Express and Hapi engines) |
JS/TS:Server-side | Koa | Mean.io | Node | React server-side rendering (Next.js) |
JS/TS:Server-side | Passport | Restify | Socket.IO | SAP XS Classic and Advanced |
JS/TS:Server-side | Vue server-side rendering | |||
JS/TS:Template engines | Consolidate | doT.js | EJS | Handlebars |
JS/TS:Template engines | Hogan | Jade | koa-views | Lodash (templating) |
JS/TS:Template engines | Marko | Mustache | Nunjucks | Pug |
JS/TS:Template engines | Swig | Twig | Vision | Underscore (templating) |
JS/TS:Major libraries | Axios | Request | Sequelize | Google Cloud APIs (Storage) |
JS/TS:Major libraries | Underscore / Lodash | Swashbuckle | Sqlx | Mongoose / MongoDB |
GO | Echo | |||
PHP | Symfony | |||
Python | Flask | Django | ||
Ruby | Ruby on Rails |
3.3 支持的平台
主机操作系统 | 主机操作系统和/或内核版本 |
---|---|
AIX | v6.1 适用于 PowerPC 处理器 |
AIX | v7.1 适用于 PowerPC 处理器 |
FreeBSD | v8.4(32 位)on i386 (x86) 或 v8.4(64 位)on amd64 (x86_64) |
FreeBSD | v11.1(32 位)on i386 (x86) 或 v11.1(64 位)on amd64 (x86_64) |
FreeBSD | v11.2(32 位)on i386 (x86) 或 v11.2(64 位)on amd64 (x86_64) |
FreeBSD | v12.0(32 位)on i386 (x86) 或 v12.0(64 位)on amd64 (x86_64) |
Linux | Linux Kernel v2.6.32+(32 位)on x86 和 glibc 2.12-2.27(32 位)on x86 |
Linux | Linux Kernel v2.6.32+(64 位)on x86_64 和 glibc 2.12-2.27(64 位)on x86_64 |
macOS | v10.12 |
macOS | v10.13 |
macOS | v10.14 |
NetBSD | v6.0(32 位)on x86 或 v6.0(64 位)on x86_64 |
NetBSD | v6.1(32 位)on x86 或 v6.1(64 位)on x86_64 |
NetBSD | v7.0(32 位)on x86 或 v7.0(64 位)on x86_64 |
NetBSD | v7.1(32 位)on x86 或 v7.1(64 位)on x86_64 |
NetBSD | v7.2(32 位)on x86 或 v7.2(64 位)on x86_64 |
NetBSD | v8.0(32 位)on x86 或 v8.0(64 位)on x86_64 |
Solaris | v10和 v11 适用于(64 位)x86_64 处理器 |
Solaris | v10 和 v11 适用于(64 位)SPARC 处理器 |
Windows | Windows 32 位工作站发行版、Windows 7 及更高版本(Windows 8.0 除外) |
Windows | Windows 32 位服务器发行版、Windows Server 2008 及以上版本 |
Windows | Windows 64 位工作站发行版、Windows 7 及更高版本(Windows 8.0 除外) |
Windows | Windows 64 位服务器发行版、Windows Server 2008 及以上版本 |
3.4 支持的编译器
优点:支持编译兼容性
Compiler | Compiler | Compiler | Compiler | Compiler |
---|---|---|---|---|
Analog Devices Blackfin | ARM C/C++ | Clang | Freescale CodeWarrior | HI-TECH PICC |
Synopsys MetaWare C and C++ | Borland C++ | Cosmic C | Analog Devices SHARC | IAR C/C++ |
Analog Devices TigerSHARC | CEVA-XC4500 | IBM AIX | Green Hills C/C++/EC++ | IBM XLC |
Tasking for ARM Cortex and TriCore | JDK for Mac OS X | Keil compilers | Marvell MSA | MPLAB XC8 |
Nvidia CUDA Compiler (NVCC) | OpenJDK | QNX C/C++ | Renesas C/C++ | SNC C/C++ |
STMicroelectronics GNU C/C++ | SNC GNU C/C++ | Intel C++ | SONY PS4 SDK | Sun/Oracle JDK |
STMicroelectronics ST Micro C/C++ | Sun (Oracle) CC | GNU GCC/G++ | TI Code Composer | Visual Studio |
Wind River C/C++ |
3.5 支持的业界标准
通过广泛的安全、质量、数据保护和安全标准全面跟踪和管理合规性,轻松按类别筛选已识别的问题,查看趋势报告,根据严重程度确定漏洞修复优先级,管理团队和项目的政策符合性。
- OWASP Top 10:了解 Coverity 如何支持 OWASP Top 10 实现 Web 应用安全。
- OWASP Mobile Top 10:了解 Coverity 如何支持 OWASP Mobile Top 10。
- CWE Top 25:了解 Coverity 如何覆盖 25 个最关键的软件漏洞。
- PCI DSS合规性:遵守必要的信息安全标准以保持合规性。
- CERT C/C++/Java:遵循开发安全、可靠和稳妥系统的规则。
- MISRA C/C++:解决编码标准问题并强制执行 MISRA C 和 MISRA C++ 规则。
- AUTOSAR:确保采用 C++14 编写软件的安全性、可靠性和稳妥性。
- DISA STIG安全指南符合性:确保美国国防部信息系统的安全性、可靠性和稳妥性。
- ISO/IEC TS 17961:了解构建以 C 语言编写的安全应用程序的最佳实践。
- ISO 26262:符合 ISO 26262 软件测试和应用程序安全要求。
3.6 可扩展检测能力
Coverity Extend是一个易于使用的软件开发工具包(SDK),它允许开发人员检测独特的缺陷类型。SDK是一个用于编写程序分析器或检查器的框架,用于识别自定义的或特定于领域的缺陷。CodeXM是一种特定于领域的函数式编程语言,它使开发人员能够轻松地开发自己的自定义检查器。这些定制的检查器支持符合公司安全需求和行业标准或指导方针
Coverity 代码静态安全扫描工具 : 认识Coverity相关推荐
- Coverity 代码静态安全检测
最近公司在推行代码Security检查,使用了Coverity代码静态检测工具.功能很强大,超乎我的期望.主要功能如下: 列出不会被执行到的代码 列出没被初始化的类成员变量 列出没有被捕获的异常 列出 ...
- 一款很好用的国产静态源代码扫描工具-DMSCA
端玛企业级静态源代码扫描分析服务平台(英文简称:DMSCA)是一个独特的源代码安全漏洞.质量缺陷和逻辑缺陷扫描分析服务平台.该平台可用于识别.跟踪和修复在源代码中的技术和逻辑上的缺陷,让软件开发团队及 ...
- Facebook 开源 Instagram 的Python 代码静态安全分析工具 Pysa
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 Facebook 正式发布安全工具 Pysa,它专用于查找并修复 Instagram app 庞大Python 代码库中的漏洞. Py ...
- python代码安全扫描工具
python代码安全扫描工具:Coverity. Fortify.SecMissile(漏扫,对源代码提供基于语义的搜索和分析能力,实现已知安全漏洞的快速扫描) 转载于:https://www.cnb ...
- coverity代码检测工具介绍_微服务测试之静态代码扫描
静态代码扫描为整个发展组织增加价值.无论您在开发组织中发挥的作用如何,静态代码扫描解决方案都具有附加价值,拥有软件开发中所需要的尖端功能,最大限度地提高质量并管理软件产品中的风险. 背景 微服务架构模 ...
- coverity代码检测工具介绍_兴业证券:静态代码检测最佳实践
一. 引言 谷歌发布的代码规范中指出,80% 的缺失是由 20% 的代码所引起的.规范的代码可以消除过于强烈的个人风格,有助于代码在项目间高效的流转:提升代码的正确性,降低低级问题产生的可能性:同时也 ...
- coverity代码检测工具介绍_Coverity代码扫描工具
1.说明:Coverity代码扫描工具可以扫描java,C/C++等语言,可以和jenkins联动,不过就是要收钱,jenkins上的插件可以用,免费的,适用于小的java项目 2.这是Coverit ...
- 静态代码扫描工具汇总
一.概述 在软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.传统的代码评审.同事复审,通过人工方式来检查缺陷仍然是一件耗时耗力的事情.而静态代码扫描工具能够在代码构建过程中帮助开 ...
- 静态代码扫描工具—— TScanCode
一.简介 TscanCode支持以下类型规则扫描: 空指针检查,包含可疑的空指针: 数据越界: 内存泄漏,分配和释放不匹配: 逻辑错误,重复的代码分支,bool类型和INT进行比较,表达式永远True ...
- Android 自定义 Lint 实现静态代码扫描工具
文章目录 关于静态代码扫描工具 Lint的简单使用 一.Lint 与 IDE 的结合使用 二.Lint 与 gradle 命令的结合使用 具体位置如下图: 生成的HTML在浏览器打开如图: 自定义 L ...
最新文章
- 一周内咸鱼疯传2.4W次,最终被所有大厂封杀
- 微信支付技术解决方案
- android udp 收发例子_如何利用光衰减器来测试光纤收发器的灵敏度?
- 使用Spring Security对RESTful服务进行身份验证
- windows版本的clion软件除了使用wsl配置Ubuntu子系统外,还可以使用MinGW-w64来配置gcc和g++
- SharePoint 2007 SP2 发布
- rabbitmq多个消费者_为什么要选择RabbitMQ,RabbitMQ简介,各种MQ选型对比
- 关于Hystrix的几个问题
- Windows Phone 7 有损 缩略图的生成!
- js调用html页面跳转,js实现页面跳转的方法
- 使用Python全栈打造淘宝客微信机器人(2)!功能太强大了
- 共享网络打印机无法连接计算机,电脑中出现共享打印机连接错误问题的解决方法...
- 宋朝五子登科家族金榜进士涂大任后裔在松滋
- python条件判断《X战警:逆转未来》
- 2021知识付费、流量变现小程序源码系统搭建安装教程,一个小白都可以日入过千的项目。
- [08]ESP32+激光传感器VL53L1x移植与调试(附源码)
- 一文带你了解s2i的原理使用,快速构建镜像
- 创客集结号:无人机发展的技术难点
- e书久久的电子书怎样反编译?
- 【Ubuntu 22.04】华硕主板 H110I-PLUS 网络唤醒(WOL)设置
热门文章
- 根据WSDL文件生成JAVA代码
- Solidity 教程系列2 - 地址类型介绍
- 税盘怎么看服务器是否在维护,税盘服务器地址怎么查
- 保研面试复习之数据结构篇
- Android三大动画介绍及使用
- mimics软件临床应用.计算机辅助外科入门技术,Mimics软件临床应用:计算机辅助外科入门技术...
- mimics软件怎么恢复原来默认的窗口设置
- android获取截屏图片大小,【Android】android获取长图截屏(显示之外的也要)
- 机房服务器巡视项目,年底,机房巡检不能少
- R语言环境下载及RStudio安装教程