漏洞数量逐年上升,开源代码质量如何保证
在新思科技今年5月发布的《2021年开源安全和风险分析》报告中提到,2020年,包含存在漏洞的开源组件的代码库百分比为84%,包含高风险漏洞的代码库的百分比从49%上升至60%。
报告中的数字令人触目惊心,不过幸运的是,国内各大厂商已经对开源代码的质量越来越重视,作为国内最大的代码托管平台,Gitee 更是尤为重视开源代码质量问题。
在自研工具的同时 Gitee 也开放接入其他厂商的优秀工具,给开发者们更灵活的选择,继 Gitee Scan、SonarQube、奇安信代码卫士后,Gitee 的代码质量分析服务又添一员「猛将」:CodeCheck。
什么是 CodeCheck
CodeCheck 是华为云推出的,基于云端实现代码质量管理的服务。开发者可在编码完成后执行多语言的代码静态检查和安全检查,获取全面的质量报告,并提供缺陷的分组查看与改进建议,有效管控代码质量,帮助产品成功。
CodeCheck 有什么特点
- 支持主流编码语言检查:Java、C、C++、Python、JavaScript、TypeScript、C#、PHP、Go、HTML、CSS;
- 兼容业界主流安全标准:CWE、OWASP TOP 10、SANS TOP 25、MISRA、CERT;
- 提供多分支检查;
- 精确定位代码行,支持在线查看;
- 更多度量指标:代码圈复杂度(内置风险度量体系)、代码重复率等。
如何在 Gitee 上使用 CodeCheck
CodeCheck 现已对 Gitee 上所有的开源仓库开放,Gitee 用户可以在项目主页的「服务」中使用 CodeCheck。

选择想要进行扫描的分支(如有其他分支),点击开始检查即可进行扫描。

分析完成后,CodeCheck 会输出分析报告,开发者可以根据自己的需求选择查看不同风险等级的代码问题,进行有针对性的修改。

关于不同指标的名词解释如下:
代码平均圈复杂度:用于衡量代码复杂度(与代码可维护、测试性相关),圈复杂度越高,重构码出错的概率越高。具体风险评估建议如下:1-10(低风险);11-20(中风险);21-50(高风险);51+(极高风险)。
代码重复率:代码重复率越高,可读性、可维护性越差;建议将重复代码抽象成公共接口或函数供各个地方调用,可以有效清除重复代码。
有效代码行数:不包括空行和注释行的代码行数。
如果你在 Gitee 上拥有开源仓库,那么就快去看看你的代码质量如何吧!
本文系作者 @Gitee 原创发布在 Gitee 官方博客。未经许可,禁止转载。