概述
当前软件开发正经历重大变革,各行各业组织都在寻求强大、高效的安全流程以跟上最新开发实践,如AI辅助编码。本报告基于Black Duck委托Censuswide进行的调查,涵盖多个国家和行业的1,000多名软件开发者、应用安全专业人员、CISO和DevOps工程师,分析了DevSecOps实践和AppSec测试的现状、趋势、挑战和机遇。
AI辅助开发与安全挑战
- 85%的受访者已采取措施应对AI生成代码的挑战,但仅24%对测试此类代码的策略和流程“极为自信”,67%的受访者表示“中度自信”、“轻度自信”或“完全不自信”。
- 超过90%的受访者某种程度上使用了AI辅助开发,这与开源软件使用的历史性增长相似,都颠覆了传统的软件开发实践,带来了独特的知识产权、许可和安全挑战。
- 非托管AI的使用与早期的非托管开源代码使用相似,许多高管未意识到开发团队正在使用未经批准的AI工具。
- AI生成的代码在管理和保护方面存在明显挑战,组织机构对AI工具采用的策略和控制处于不同阶段。
软件安全测试的演变
- 软件安全测试愈发受到关注,57%的受访者测试了41%至80%的项目、分支和存储库,表明安全测试覆盖率还有提升空间。
- 组织机构根据所处理信息的敏感性对安全测试进行优先级排序(37%的受访者),强调行业最佳实践(36%)和增加对自动安全测试工具的使用(35%)。
- 安全测试的配置正变得越来越集中,55%的受访者使用集中式界面进行测试配置,但仍有大量手动流程存在(15%到43%)。
- AI辅助编码工具可能将安全漏洞引入代码库,需要对其进行安全审查。
安全测试的挑战与趋势
- 超过一半的受访者认为安全测试结果至少“比较容易”理解和据此采取行动,但60%的受访者表示其安全测试结果中有21%至60%是噪音,影响了效率和决策流程。
- 82%的组织机构使用6到20种安全测试工具,工具激增导致结果重复、相互冲突和误报加剧,难以区分真正的问题和误报。
- 驱动安全测试的三个重大优先事项:保护敏感信息(37%)、遵循最佳实践(36%)、自动化并确保测试易于配置(35%)。
- 集中化是大势所趋,55%的受访者使用集中式界面进行测试配置,可简化管理、改进协作和降低成本。
- 实现安全测试的全面覆盖是一场硬仗,近30%的受访者仍然手动将新项目、分支或存储库添加到应用安全测试队列中。
AI在全球的采用情况
- 超过90%的组织在某种程度上使用AI工具进行软件开发,27%的受访者指出其组织中所有开发人员都可以在工作中使用AI工具,43%的受访组织只允许部分开发人员或团队使用这些工具。
- 各行业数据相近,技术、网络安全、金融科技、教育等行业的采用率均超过90%,组织规模越大,越有可能在软件开发中大量采用某些AI功能。
- 大多数受访者对于保护AI生成的代码没有信心,41%的受访者对其公司拥有适当的策略和自动化测试来充分审查AI生成的代码中度自信,67%的受访者对管理和保护AI生成的代码表示担忧。
分析安全测试结果并据此采取行动
- 认为测试结果容易解析和采取行动的比例因角色、行业和地域而异,CISO、CTO/CPO和AppSec专业人士通常更容易理解安全测试结果并据此采取行动。
- 组织机构采用多种方法分析和清理安全测试结果,38%的手动分析,25%完全自动分析,28%自动和手动相结合。
- 自动审查与手动审查相比,更容易理解结果并据此采取行动,90%的采用自动化方法的受访者认为理解结果很容易或非常容易。
- 持续的安全测试与开发速度之间的矛盾,86%的受访者认为安全测试会在一定程度上或严重减缓开发速度,43%的受访者认为测试会中度减缓开发速度。
如何完成修复
- 近一半的受访组织正在使用自动化系统来确定安全问题的优先级,49%的组织现在使用自动方法对安全问题进行优先级排序。
- 分配修复问题的前五种方法都是自动化的,包括向各利益相关者发出告警、使用问题管理工具分配任务、防止代码签入、阻止软件开发进入下游阶段、宣告构建失败。
- 超过38%的受访组织没有实施任何自动化操作来分配修复问题。
结论与建议
- DevSecOps正处于关键时刻,需要平衡严格的安全实践与现代软件开发的速度和创新需求。
- 成功的组织将挑战视为转型和改进的机遇,适应不断变化的DevSecOps格局并塑造它。
- 建议评估工具和流程的整合与集成,选择有经验的主流供应商,实施应用安全态势管理(ASPM)解决方案,投资部署安全测试结果的整合工具和流程。
- 尽可能选择有经验且知识丰富的主流供应商,以便将不同的工具整合为一个全面的测试套件,降低工具的激增和复杂性。
- 尝试实施应用安全态势管理(ASPM)解决方案,以集成工具,自动运行工作流,并对结果进行规范化和优先级排序。
- 投资部署安全测试结果的整合工具和流程,使其在组织的所有角色中更具可操作性和更易于理解。
- 立即制定AI治理策略,针对软件开发中使用的AI制定明确的策略和程序,投资部署工具和流程以审查和保护AI生成的代码。