前言
企业创新要做的是成长速度快于消费者需求变化的速度,依靠自身摸索固然也可以持续提升能力,但面临的挑战要求能力的提升也必须更快、更好。在寻求提升开发和交付效率。云效是一个非常适合于产研团队进行敏捷协作的工具,特别是其中代码管理与流水线进行了无缝集成,完全可以满足中小型团队对代码托管、评审、发布的一系列需求。相对于自己维护一条发布工具链,其成本优势也是非常明显的。这是也是重点体验了代码安全的功能。
看到代码库的安全特性,是非常全面的。提供了包含事前、事中和事后的追溯。
代码质量——Java 开发规约
限定语言:Java
《阿里巴巴 Java 开发手册》是阿里内部 Java 工程师所遵循的开发规范,涵盖编程规约、单元测试规约、异常日志规约、MySQL 规约、工程规约、安全规约等,这是近万名阿里 Java 技术精英的经验总结,并经历了多次大规模一线实战检验及完善。根据约束力强弱,规约依次分为强制、推荐、参考三大类:
【强制】必须遵守。是不得不遵守的约定,违反本约定或将引起严重的后果。
【推荐】尽量遵守。长期遵守这样的规则,有助于系统稳定性和合作效率的提示。
【参考】充分理解。技术意识的引导,是个人学习、团队沟通、项目合作的方向。
Java 代码规约扫描使用《阿里巴巴 Java 开发规约》插件扫描 Java 规约问题。
代码质量——代码补丁智能推荐
限定语言:Java
缺陷检测和补丁推荐几十年来一直是软件工程领域的难题,又是研究者和一线开发者最为关心的问题之一,这里讲的缺陷不是网络漏洞、系统缺陷,而是隐藏在代码中的缺陷。帮助开发者识别这些缺陷,并进行修复,能够大幅提升软件质量。
基于业界和学术界较为流行的缺陷检测手段,并分析和规避其局限性,云效代码管理的算法工程师们提出了一种新的算法,实现更加精准和高效的分析代码缺陷并推荐优化方案,该算法已被国际软件工程大会(ICSE)收录。
代码补丁推荐服务目前应用于合并请求的代码自动扫描场景,扫描输出优化推荐方案,问题等级仅包含 MAJOR 类型:建议修复的代码缺陷。
代码安全——敏感信息检测
敏感信息检测功能,可以检测代码库中的敏感凭证和密钥,比如 API keys 等信息。集成在合并请求代码评审阶段,可以有效防止敏感信息意外提交。
敏感信息问题等级分为:BLOCKER, CRITICAL, MAJOR
BLOCKER: 通过规则扫描出来的可能性很高的明文问题;
CRITICAL: 通过信息熵模型得出的可能性较高的潜在问题;
MAJOR: 用于测试的敏感信息字段;
代码安全——依赖包漏洞检测
限定语言:Java、Python、Golang、Node.js
为了杜绝安全隐患,企业需要做到以下三点:
1.了解工程都使用了哪些依赖包;
2.删除不需要的依赖包;
3.检测并修复当前依赖的已知漏洞;
依赖包漏洞检测服务帮助企业方便的检查其工程依赖包的安全性。依赖包漏洞等级分为:BLOCKER, CRITICAL, MAJOR,等级划分根据国家漏洞数据库CVSS分数评估制定。
BLOCKER: 高危漏洞,建议立即修复;
CRITICAL: 中危漏洞,建议尽快修复;
MAJOR: 低危漏洞;
除此,关于代码库安全还提供很多的功能,例如
代码库安全(Codeup-IP白名单、克隆下载控制)
代码库安全(Codeup-GPG 签名)
代码库安全(Codeup-仓库加密)
代码安全-建议
希望未来支持更多的语言,比如Python的开发规约、代码补丁和源码漏洞扫描。