← 最新论文
🤖 AI

Understanding the Impact of AI Code Assistants on Security API Usage: An Empirical Study

这项针对 44 名专业开发人员的实证研究表明,虽然 GitHub Copilot 提高了功能正确性并略微减少了某些不安全模式,但它未能显著增强安全 API 的使用安全性,往往使开发者无法意识到仍然存在的漏洞。

原作者: Zahra Mousavi, Chadni Islam, M. Ali Babar, Alsharif Abuadbba, Kristen Moore

发布于 2026-07-14
📖 1 分钟阅读☕ 轻松阅读

原作者: Zahra Mousavi, Chadni Islam, M. Ali Babar, Alsharif Abuadbba, Kristen Moore

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下你正在建造一个超级秘密的俱乐部,你需要安装高科技锁具、警报器和秘密通道来防止入侵者。这些锁具就像是 安全 API(Security APIs)——开发者用来保护软件的特殊工具。但这里有个转折:这些锁非常棘手。如果你安装错了,那个“秘密”通道可能就会变成一扇向黑客敞开的大门。

现在,想象你有一个超级聪明的机器人助手叫作 Copilot,它可以帮你写代码。你可能会想:“太棒了,机器人知道所有的规则,所以我的俱乐部会像诺克斯堡一样坚固!”但来自澳大利亚大学和研究实验室的 Zahra Mousвi 与她的团队进行的一项新研究,决定对这个想法进行实测。他们不仅让机器人建造一把锁,还观察了 44 名真正的专业开发者 在有机器人帮助和没有机器人帮助的情况下尝试建造这些锁的过程。

以下是他们的发现,带有一点现实的残酷。

机器人是一个优秀的助手,但不是一个合格的保安

首先,好消息是:Copilot 是一个出色的 速度达人。当开发者需要建造一个复杂的锁(具体来说是一个用于访问用户数据的 Google OAuth 系统)时,机器人的帮助让他们完成工作的速度大大加快。

  • 没有机器人时,只有 45% 的开发者(22 人中的 10 人)实际上让这把锁运转了起来。
  • 有了机器人,91% 的开发者(22 人中的 20 人)让它运转了起来。
  • 机器人还将完成这项复杂任务所需的时间缩短了 63%,将平均时间从 62 分钟 降到了 23 分钟

所以,如果你的目标仅仅是把门造出来并让它能转动,那么机器人是一个巨大的胜利。

但问题在于: 仅仅门造好了并不意味着它被锁上了。事实上,没有任何一名 开发者(无论是否使用了机器人)在他们所承担的任务中成功构建了一个 完全 安全的锁。所有被评估的任务中,每一次尝试都至少存在一个重大缺陷。

“相信我”陷阱

研究观察了两类特定的锁:JSSE(用于安全的互联网连接)和 Google OAuth(用于登录应用程序)。他们发现机器人并没有修复安全问题;在许多情况下,它只是帮助人们更快地造出了破损的锁。

  • “信任一切”的错误: 想象一个只要看起来面善就让任何人进来的守卫。在研究中,一些开发者(以及机器人)设置了“信任所有证书”的系统。这就像是在告诉你的守卫:“只要有人出示证件,就让他们进来,哪怕那是假的。”这是一个巨大的安全漏洞。
  • “秘密代码”的错误: 一些开发者直接将密码写在代码里,就像把家里的钥匙放在门垫下面一样。机器人有时也会给出这样的建议!
  • “不检查”的错误: 在连接到服务器时,你需要检查你谈话的对象是否真的是那个人。许多实现过程跳过了这一步,给“中间人攻击者”(即冒充你的朋友来窃取你的东西的人)留下了大门敞开的机会。

研究人员发现,虽然机器人帮助修复了一些小错误,但它并没有阻止重大的安全失败。事实上,100% 被评估的任务 都导致了带有安全问题的代码。机器人并没有让代码比人类单独工作时更安全;它只是让不安全的现象出现得更快了。

人类的盲点

这是故事中最令人惊讶的部分。研究人员询问开发者:“你认为你的代码是安全的吗?”

  • 尽管 没有任何 代码是真正安全的,但大多数开发者却说:“是的,我认为我已经安全地解决了这个问题!”
  • 只有极少数人意识到自己犯了错误。
  • 当与机器人交流时,几乎没有人问过:“嘿,这安全吗?”他们只是在问:“让它运行起来。”

这就像一群人在造桥,并请求机器人提供帮助。机器人帮他们快速铺设砖块,但没有人检查这座桥是否真的能承重。当被问到“你认为这座桥能撑住吗?”时,大多数人都会说“当然!”,尽管它即将坍塌。

我们可以教机器人变得更好吗?

研究人员尝试了最后一件事。他们要求开发者明确告诉机器人:“嘿,检查一下这个安全性!”或者“你是一个安全专家,请修复它!”

  • 当他们这样做时,机器人在处理较简单的锁(JSSE)时 确实 修复了一些错误。
  • 然而,对于更复杂的锁(OAuth),即使被告知要小心,机器人仍然遗漏了许多关键的安全漏洞。

底线

这项研究表明,虽然像 Copilot 这样的 AI 助手在帮助我们快速且正确地编写代码方面非常出色,但 它们并不是抵御黑客的魔法盾牌。

  • 机器人: 擅长速度和功能,但不是安全专家。
  • 人类: 往往过度信任机器人,并且没有亲自检查安全性。
  • 结果: 我们正在建造看似安全、实则漏洞百出的系统。

研究人员得出结论,我们不能仅仅依赖机器人来保护我们。我们需要成为那些提出困难的安全问题、检查工作并确保我们建造的“锁”确实被锁上的那个人。机器人是一个强大的工具,但它不能取代具备安全意识的思想。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →