整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)现如今,Google Bard、GitHub Copilot 等工具逐渐成为开发者日常工作的助手然而,这些工具带来的并非全都是积极影响:它们在帮助开发者提高效率的同时,也制造了大量“垃圾报告”,对开源项目的维护者造成了巨大困扰。
近日,Python 基金会的安全开发人员 Seth Larson 在博客中公开呼吁:报告漏洞时不要再依赖 AI 工具了,既不可信也浪费大家的时间!
(CSDN 付费下载自视觉中国)
由 AI 编写的垃圾报告,淹没了项目维护者“最近,我注意到开源项目中出现了大量低质量、类似垃圾内容的 AI 生成安全报告。”Larson 在博文中写道,今年年初 Curl 项目中也发现了类似问题。他指出,这些报告乍看之下似乎挺靠谱,实际上却需要开发者花费大量时间来驳回其无效性 。
Larso 所说的 Curl 项目中的“类似问题”,其实在今年 1 月 Curl 项目作者 Daniel Stenberg 也曾发文提过。具体来说,Curl 是一款广泛使用的开源工具,负责数据传输功能,其漏洞赏金计划激励了大量安全研究者提交漏洞报告。然而,根据 Stenberg 的数据分析,自项目启动以来,他们共收到 415 份漏洞报告,其中只有 64 个被确认为实际存在的安全 Bug,有 77 个被认为是具有信息价值的普通 Bug,而其余近 66% 的报告都是无效的。
“我们不得不投入大量时间来验证这些无效报告,这不仅浪费了开发资源,更让真正的优先任务被推迟。”Stenberg 写道,“AI 生成的漏洞报告乍看之下非常详细,但本质上就是‘高质量的垃圾’。”
为此,Stenberg 列举了两个典型案例,并指出“AI 模型在生成报告时的语言流畅性让这些报告看起来更具可信度,这无疑增加了验证工作量。”
(1)案例一:Google Bard 制造的“漏洞”
一份报告声称发现了 Curl 的 CVE-2023-38545 漏洞。然而,在实际漏洞披露前,Stenberg 通过分析发现,该报告将旧漏洞的部分细节拼凑在一起,生成了一个看似合理却完全虚假的新漏洞。他在 HackerOne 论坛上澄清,这份报告完全没有依据。
(2)案例二:不存在的缓冲区溢出漏洞
还有一位用户提交了一份关于 WebSocket 处理中的缓冲区溢出的报告。经过 Stenberg 的反复追问,对方提供的回复含糊其辞且漏洞百出。最终他得出结论,这份报告可能是由 AI 工具生成的,因为其回答中包含典型的“AI 幻觉”特征,即把不相关的信息错误地拼凑在一起,试图制造可信的内容。
维护者意识不到这些报告是 AI 生成的,浪费了大量时间
然而,Stenberg 在年头公开斥责的这个问题,直到最近仍在与提交类似“AI 垃圾”报告的用户争论不休12 月 8 日,他在漏洞报告回复中愤怒回应:
“我们总是定期收到这种 AI 生成的垃圾内容,这些内容的大量涌入给 Curl 项目维护者增加了不必要的负担。我对此绝不轻视,并决心迅速采取行动加以应对。
你提交了一份显然是 AI 生成的‘漏洞报告’,声称其存在安全问题,我猜可能是某个 AI 让你信以为真了。接着,你又浪费我们的时间,不仅未主动表明这份报告由 AI 生成,还继续提供了更多‘垃圾’回复这些似乎也是 AI 写的。”
面对这种情况,Larson 也深感头疼:“我最担心的是,那些孤军奋战的维护者可能意识不到这些报告是 AI 生成的,而是在浪费大量时间后才发现都是无效报告……开源项目维护者的时间非常宝贵,而这些无意义的消耗会直接导致他们心力交瘁,甚至离开。”
为了应对这种局面,Larson 提出了一些改进措施。首先,他希望开源社区能够认识到这一问题的重要性,并采取行动预防潜在危害。“我不想说‘更多的技术’将是解决问题的办法,”他说,“但我认为开源安全需要一些根本性的改变。它不能总是落在少数维护者身上来做这项工作,我们需要让这类开源贡献更加规范化和透明化。”
此外,Larson 提到资金支持也是一个解决方案,例如他自己就是通过 Alpha-Omega 项目获得的资助,另外企业捐赠的员工时间参与开源项目也是一种可行的方式。
在开源社区探索应对方案的同时,Larson 也呼吁漏洞报告者不要提交未经人工核实的报告,并且停止使用 AI 工具,因为“目前这些系统无法理解代码”。他还敦促负责接收漏洞报告的平台采取措施,限制自动生成或滥用的安全报告。
AI 技术本身并无罪,关键在于使用者
虽然 AI 工具的滥用在某些场景下引发了问题,但安全公司 Socket 的 CEO Feross Aboukhadijeh 也指出,AI 工具在检测开源生态系统中的恶意软件包方面表现出色。
例如,通过将 LLM 与人工审核相结合,Socket 能有效识别 JavaScript、Python 和 Go 等生态中的恶意软件包:在没有人工介入的情况下,AI 模型的误报率高达 67%,但经过人工审核后,这一比例降至 1%。
基于此 Socket 每周能检测约 400 个恶意软件包,大幅提高了检测效率。“AI 并非万能工具,将其与人工结合才能最大程度减少误报,并实现真正的效能提升。”Aboukhadijeh 强调。
诚然,AI 技术本身并无罪,关键在于使用者的方法态度。因此对于 Seth Larson 和 Daniel Stenberg 所揭示的安全漏洞报告现状,许多网友也都在斥责这种无脑依赖 AI 的行为:
●“我们的现代数字基础设施,完全依赖于一群志愿者无偿来维护这些项目,但一些依赖 AI 的脑残们却在浪费他们的时间。”
●“那个 Curl 报告看着真让人生气,明明就是 100% 由 AI 生成的东西,还敢大言不惭地对项目维护者施压。”
参考链接:
https://www.theregister.com/2024/12/10/ai_slop_bug_reports/
https://www.reddit.com/r/technology/comments/1hb7c9b/open_source_maintainers_are_drowning_in_junk_bug/