生成式AI代码工具正在改变软件工程实践,开发者现在构建的持续集成和持续部署(CI/CD)流水线能够大规模生成代码并快速推送到生产环境。
Palo Alto Networks亚太和日本地区政府及关键基础设施首席架构师Tom Scully表示,由于这种自动化,工程师们越来越多地处于"旁观"状态而非"参与"状态。
"智能体编写代码,质量保证(QA)流程试图捕捉错误,所有这些都以巨大的量级和速度进行,这对传统的QA和治理提出了挑战,"Scully说。
根据Palo Alto Networks的《2025年云安全状况报告》,53%的组织现在至少每周部署一次代码,17%的组织每天都在部署。
"这种量级给QA流水线带来压力,并缩短了部署新产品的时间窗口,"Scully观察到。此外,报告发现85%的受访者认为安全阻碍了软件发布的交付。
生成式AI是软件开发的力量倍增器,特别是与知道如何编写提示词和检查输出的经验丰富的开发者配对时。但Scully说,这种经验水平是稀缺的,所以问题是如何在使用AI驱动的工具的同时确保治理,并在整个DevSecOps流水线中拥有能够验证输出的工具,就像高级开发者已经审查过它们一样。
DevSecOps实践并非失效,而是随着部署和基础设施配置变得完全自动化,为期一周的交接正在成为过去式。因此,安全团队面临巨大压力,需要快速验证并将一切集成到安全运营中心(SOC)中。
"安全和运营团队需要运行时可见性以及将问题追溯到CI/CD流水线的能力,"Scully说。"如果安全、SOC、CI/CD和基础设施团队在嵌入治理控制的共享平台上运作,你就可以将检查、策略和自动化结合起来,以机器速度运行。"
Palo Alto Networks提供了这样一个平台,通过Prisma和Cortex来保护从代码到云的流程和AI运行时安全,包括模型上下文协议保护和自动化红队测试,同时提供端到端可见性。
Scully并不建议每个安全问题都留到运行时解决。"你需要将安全编码策略、QA和态势检查集成到流水线中。工具应该在部署前验证代码、部署YAML和云配置。然后,运行时控制和红队测试确保漏网之鱼被检测和修复。这是关于纵深防御——在编写、预部署、部署时和运行时进行检查。"
虽然大语言模型正在快速改进,但它们并不生成完美的代码。"你需要人工监督——人员参与/旁观循环——以及对工具行为的可见性。想想自动驾驶的类比——在人工监督下的自动化一直有效,直到监督需求发生变化。关键是紧密集成以及使用整合数据和工具快速观察、定位、决策和行动的能力——一个OODA循环。"
此外,大语言模型生成代码的质量很大程度上取决于模型提供商,但可以通过构建"一个自动化循环来改进,其中模型输出根据安全性和质量进行评分,提示词得到完善,"Scully说。
可以施加外部护栏——例如,检查输出中的个人身份信息、有害内容、权限和其他策略违规。"这个监督层可以在有风险的输出被使用之前阻止它们,"他补充说。
为了安全地应对这些变化,Scully建议董事会和C级高管在董事会层面实施AI治理和标准。这涉及定义明确的策略并将其映射到既定框架,如ISO 27001和美国国家标准技术研究所的风险管理框架。
他还敦促领导者明确决定允许使用哪些模型和工具,强制进行全面的安全评估。最后,组织必须跟踪其运行时态势并维护最新的模型清单以确保可见性,将总体治理与平台级控制相结合,使企业能够继续安全创新。
Q&A
Q1:生成式AI代码工具对软件开发带来了什么变化?
A:生成式AI代码工具正在改变软件工程实践,开发者现在构建的CI/CD流水线能够大规模生成代码并快速推送到生产环境。工程师们越来越多地处于"旁观"状态而非"参与"状态,智能体编写代码,质量保证流程试图捕捉错误,所有这些都以巨大的量级和速度进行。
Q2:大语言模型生成的代码质量如何保证?
A:大语言模型虽然正在快速改进,但并不生成完美的代码。需要人工监督和对工具行为的可见性。代码质量很大程度上取决于模型提供商,但可以通过构建自动化循环来改进,其中模型输出根据安全性和质量进行评分,提示词得到完善。
Q3:如何在使用AI代码生成工具时确保安全?
A:需要将安全编码策略、QA和态势检查集成到流水线中,工具应该在部署前验证代码、部署YAML和云配置。同时需要运行时控制和红队测试确保漏网之鱼被检测和修复。还要施加外部护栏,检查输出中的个人身份信息、有害内容、权限等策略违规。
热门跟贴