探索持续安全验证
如今,开发人员毫不犹豫地使用公共包源(如 npm 或 NuGet)中提供的组件。
通过更快的交付和更高的工作效率,许多组织都鼓励使用开源软件(OSS)组件。
但是,随着对这些第三方 OSS 组件的依赖增加,安全漏洞或隐藏许可证要求的风险也会增加合规性问题。
对于企业而言,这一点至关重要,因为与合规性、责任和客户个人数据相关的问题可能会导致许多隐私和安全问题。
在发布周期的早期识别此类问题可提供高级警告和足够的时间来解决问题。 值得注意的是,在项目早期发现问题时,解决问题的成本较低。
许多工具可以在生成和发布管道中扫描这些漏洞。
合并完成后,CI 生成应在拉取请求 (PR-CI) 过程中执行。
通常,这两个运行之间的主要区别是,PR-CI 进程在 CI 构建中不需要任何打包或暂存步骤。
这些 CI 生成应运行静态代码分析测试,以确保代码遵循维护和安全性的所有规则。
可以使用多个工具:
- SonarQube.
- Visual Studio Code Analysis 和 Roslyn 安全分析器。
- Checkmarx - 静态应用程序安全测试 (SAST) 工具。
- BinSkim - 一个二进制静态分析工具,可为 Windows 可移植可执行文件和更多可执行文件提供安全性和正确性结果。
许多工具无缝集成到 Azure Pipelines 生成过程中。 有关这些工具集成功能的详细信息,请访问 Visual Studio Marketplace。
此外,为了使用 CI 构建来验证代码质量,还需要执行另外两个繁琐或常被忽略的验证:扫描第三方包以查找漏洞,以及检查 OSS 许可证的使用情况。
当我们询问第三方包漏洞和许可证时,反应是恐惧或不确定性。
尝试管理第三方包漏洞或 OSS 许可证的组织解释其流程繁琐且手动。
幸运的是,Mend Software 的工具几乎可以瞬间完成此识别过程。
在后面的模块中,我们将讨论集成几个有用的常用安全性和符合性工具。