软件开发中的人工智能与安全性
关键要点
新软件需求急剧上升,开发人员越来越依赖人工智能AI来提高生产力。超过90的美国开发人员正在使用AI编码工具,以提高效率、减少重复工作和防止疲劳。在软件开发中,要始终关注安全编码实践,避免盲信AI输出的结果。人类开发人员在识别安全最佳实践和防范攻击方面的视角不可或缺。在当前不断增长的软件需求背景下,开发人员面临着越来越大的压力,因此,绝大多数开发人员选择使用 人工智能AI 来提升自己的工作效率,以便提前完成项目。
1元机场官网研究显示,超过 九成的美国开发人员 正在部署AI编码工具。他们提到的一些优势包括提高生产力53、能更多地专注于创造性工作而非重复性任务51,以及防止职业倦怠41。AI还将 近一半 的时间用于生成和记录代码的时间减少。
这些好处可能会促使更广泛的AI应用。除了减少重复和繁琐工作的时间外,AI也能建议新的代码行并对技术问题提供有效的解答。技术甚至可以提供研究协助,解释可能会阻碍开发人员解决日益增长的挑战的过程。
不过,在软件开发过程中,即使在使用AI工具时,我们也绝不能忽视安全编码实践的重要性。我们不能盲目相信AI的输出,因为其产生错误信息的情况仍然是一个重要问题。辨认安全最佳实践和识别不良编码模式的能力这种能力可能导致攻击的类型已成为开发人员必须培养的技能,企业也需在此方面进行投资。我们无法取代关键的“人性视角”,以预见和防范越来越复杂的攻击技术。
缺乏这种视角,导致全球愈来愈多的开发人员创造不安全的软件,这种情况存在着巨大风险。开发人员在使用AI编码助手时所获得的生产力提升对迅速交付代码大有裨益,但缺乏上下文安全意识可能会加剧可利用漏洞的产生。我们在软件开发中将速度视为一种美德,但同时也需要保持安全最佳实践的关注。通过适当的技能培训, 开发人员 可以实现这一目标。
在最近的一期 播客 中,我提到我们尚未在安全和AI编码方面建立起标准。当前的技术没有经过足够关于不安全代码的训练,无法捕捉到识别各种威胁所需的智能。我们可能在几年后达到这样的水平,但现在并没有,直到那一天到来之前,我们不能盲目信任AI生成的高质量受保护产品。
我们仍然需要具备安全技能的开发人员为组织战略提供支持,同时确保生成受保护的代码,以执行以下任务:
