前面我们讲到过DevSecOps在技术方面的一个关键点是集成,就会涉及到我们开发生命周期的工具链,我们上图中列出的还不是全部,大家都知道涉及到的工具链太多了。仅仅是开发工具,主流的就有好几种,最主流的像eclipse、Visual Studio、IntelliJ IDEA。
开发完成后,就到了代码管理环节,常见的像GitLab、GitHub、Bitbucket,还有构建用的Maven、Gradle等等。再就是CI/CD持续发布、持续集成,最常见的是Jenkins,很多平台都是基于Jenkins开发的。
测试完成之后,要跟踪缺陷,还会用到Jira、Bugzilla这些工具。还有一些针对开源组件的测试平台,以上这些都是我们会用到的工具链。
我们在开发的过程中,通过工具的应用、一些在线的培训都能够帮助我们开发人员丰富安全编码的知识、具备安全编码的能力。在这些工具链中,都可以将安全测试嵌入进去。
以IDE为例,IDE本来是个开发者平台,我们可不可以边开发边做安全测试呢?是可以的,在开发的同时就可以保证代码的安全性。我认为,安全左移,其实就是移到了开发人员的IDE上,这也是左移最重要的一个体现了。
那我们在CI/CD的时候,是不是可以同步把代码也测了呢?我们在构建build的时候可以同时把代码做一个安全测试吗?都是可以的,都可以集成进去。同时,安全问题也是bug,也可以通过Bugzilla这些工具去管理,而不仅仅是管理功能缺陷。
接下来的文章我们会继续带大家了解DevSecOps最佳实践如何落地,各个环节如何部署,以及行业最佳实践的案例,欢迎大家继续关注。