1. 前言
最近看到阿里云云效的“1分钟代码漏洞自动检测与修复”体验,作为安全相关从业人员,深知代码安全的重要性,近几年供应链安全事件频发。云原生开发安全和安全左移已经成为网络安全热议的话题,从源头上杜绝安全问题,只能从代码入手。抱着好奇的态度体验了一下云效的1分钟代码漏洞自动检测与修复。下面就是我的体验报告,本人水平有限,有哪里写的不对,还请各位高手指点!
2. 功能体验
安全方面主要有这三方面的检测,敏感信息检测、依赖包漏洞检测、源码漏洞检测三个功能。
2.1 敏感信息检测
我们可以看到,触发方式有提交和合并代码方式。
检测规则是定义了62种敏感信息:
应用密钥 万事达 银行卡号 电话号码 手机号 邮箱 机动车信息 身份证信息 支付宝账号 访问令牌 缩写密码 通用缩写密码 缩写密钥加强版 缩写密钥 通用密码 信息熵 HerokuAPI密钥 SSH(DSA)私钥 AmazonMWS访问密钥 GoogleOAuth访问令牌 GmailAPI密钥 通用API密钥 SSH(EC)私钥 SSH私钥 PayPal访问令牌 Google云平台OAuth授权 PKCS私钥 Mailgun API 密钥 Slack令牌 StripeAPI密钥 GmailOAuth授权 GoogleAPI密钥 Square访问令牌 RSA私钥 SlackWebhook GoogleDriveOAuth授权 Stripe限定API密钥 Github密钥 SquareOAuth密钥 通用密钥 AWSAPI密钥 Facebook访问令牌 Google云平台API密钥 YoutubeAPI密钥 Twitter访问令牌 Slack密钥 私密令牌 GoogleDriveAPI密钥 FacebookOAuth授权 AWS密钥 PGP加密私钥 TwilioAPI密钥 PicaticAPI密钥 通用密钥 YoutubeOAuth授权 LinkedIn用户ID Twitter用户ID TwitterOAuth授权 Facebook用户ID LinkedIn密钥 阿里云访问密钥
这里面有常用的电话、手机、银行卡等,也有阿里、支付宝等信息,还有就是国外常用的网站Google、LinkedIn、Facebook、Amazon等敏感账号信息。
建议1:不知道为什么没有中国常用的网站账号信息,比如QQ、微博、微信等。
建议2:另外Facebook已经改名为Meta,这里的名称是否也要修改。
建议3:在扫描过程中,如下图,这里有一个问题,扫描过程没有进度条,如果是简单的项目还可以,对于大型Java项目,本身代码就比较复杂,Java构建的效率又不高,很容易扫描很长时间,如果没有进度条简直是个灾难!
2.2 依赖包漏洞检测
检测结果如下:我们可以看到检测出很多有漏洞的依赖引用。依赖包后面有收藏符号的,是有推荐的解决方案的。
随意点开一个有漏洞的依赖,详情非常全面,是那一次提交,依赖关系,有那些漏洞,推荐解决方案,展示的非常清晰。漏洞级别分为:BLOCKER: 高危漏洞;CRITICAL: 中危漏洞;MAJOR: 低危漏洞。
建议4:但是有一点,详情中只有CVE的漏洞编号,没有CNVD的漏洞编号,一般国内漏洞厂商,都会把2种漏洞编号都标注上。
2.3 源码漏洞检测
从描述可以看出,这个功能主要是防止一些异常、输入越界、各种类型的注入用的。可能也包括阿里巴巴Java编程规范中的内容。
3. log4j漏洞检测和一键修复
为了测试检测的效果,我上传了一个前一段很火的log4j漏洞,果然没有逃过codeup的安全检测。
在详情中看到了有自动修复功能,于是试了一下。
可以看到,是直接把代码中的有漏洞版本直接进行了修改。这个功能爆赞,如果能普及,可以大面积减少市面上的log4j漏洞。
4. 总结
Codeup虽然有一些小问题,但在使用上已经超出了我的预期,特别是体验了流水线的功能后,只能说丝滑!在最近的俄乌战争中我们也可以看到,GitHub开始按照国籍对账号进行限制,理由是这些国家违反了美国的贸易控制法律。被限制的账号所有人的国籍包括俄罗斯、伊朗、叙利亚、古巴等“受美国制裁”国家。在这种大背景下,如此好的体验,我详细Codeup可以成为github在国内的出色的替代者。