内容提要
将 AI 技术应用于漏洞挖掘既带来了显著的好处,也伴随着重大风险,特别是可能产生误报以及生成不准确的漏洞报告。
大量未经验证并且由 AI 生成的 CVE 泛滥,不仅会导致安全数据库不堪重负、削弱人们对研究流程的信任,还会分散人们对真实威胁的关注。
curl 漏洞赏金计划的关停等现实案例凸显了低质量、由 AI 驱动的漏洞报告提交所带来的运营挑战与负面影响。
在验证 AI 的发现结果时,人工监督至关重要;它不仅能确保只有真实漏洞得到上报,更能够维护 CVE 体系的公信力。
在不断演变的网络安全形势中,人工智能 (AI) 技术在漏洞挖掘中的应用已成为一种强大的工具。但是,与任何技术一样,此工具也伴随着必须进行谨慎管理的风险。
一个重大的隐患在于,AI 系统也可能会产生误报,从而导致大量虚假(毫无意义)的漏洞报告泛滥。如果这些未经核实的发现结果在提交时未得到妥善验证,则可能会导致产生大量虚假的 CVE ID,从而增加识别真实安全威胁的难度。
AI 在漏洞检测中的本质
通常,AI 工具会利用过去的 CVE 中的模式与数据对代码和系统进行分析,从而发现潜在的安全漏洞。虽然这些工具可能确实行之有效,但它们并非万无一失。它们可能会曲解代码片段的意思、错误地识别与实际漏洞利用无关的模式,或者将非问题错误地标记为漏洞(即,将无害文件标记为存在漏洞),所有这些都可能导致产生误报。
误报带来的问题
在 AI 驱动的漏洞检测中,误报的表现形式有多种多样。AI 工具可能会检测出类似于已知漏洞利用的模式,却无法验证其是否真正构成了风险。
这种疏漏可能会导致创建一个新的 CVE,即使并不存在任何实际漏洞也是如此。随后,此类误报可能会被提交给 MITRE,从而导致分配可能缺乏实际意义的 CVE ID。
在未经验证的情况下提交漏洞所带来的后果
虚假 CVE 的激增可能会产生严重影响。这些 ID 会使 CVE 数据库变得杂乱无章,从而导致识别和解决实际安全问题的难度大幅增加。这会导致信息过载,并降低解决真正漏洞的效率。更糟糕的是,恶意攻击者可能会利用此系统为达成自身目的而生成 CVE ID,从而进一步加剧安全形势的复杂性。
大量出现的误报漏洞还可能损害品牌或供应商的声誉以及消费者对他们的信心。如果一款产品或平台被认为充斥着危险漏洞,则客户可能会觉得它给企业带来了过高的风险,进而考虑更换供应商。
此外,如果在未与供应商进行协调或核实的情况下贸然公开大批未经验证的漏洞,则会带来大量不必要的工作,并导致公司资源陷入瘫痪。例如,公共关系部门可能不得不迅速发布声明来应对相关事态,而后端的工程师必须加紧工作,去排查和验证大量出现的漏洞报告。
真实示例
受大量粗制滥造的 AI 漏洞报告影响,curl 实用程序宣布关停其漏洞赏金计划。我们认为,随着漏洞研究人员在挖掘新漏洞时越来越多地利用 AI 技术,这个问题将会变得更加严重。这种全新的 AI 技术也必定会帮助发现可验证的真实漏洞,但由于开发人员和供应商必须在所有真伪莫辨的漏洞报告中进行排查,因此这些真实漏洞的验证速度将被拖慢。
curl 漏洞赏金计划因 AI 生成的大量低质量漏洞报告的泛滥而关停,这凸显出开发人员与供应商在验证和解决真实漏洞时所面临的挑战。这种情况导致了验证过程被拖慢,因为人类专家们不得不耗费大量时间对 AI 生成的海量且往往不准确的报告进行分类。
此外,该计划的关停不仅有可能挫伤贡献者的积极性,还可能引发其他公司的效仿,从而减少可用于识别安全问题的资源总量。
解决此问题需要改进用于过滤和验证报告的系统。经过改进的系统可能会改变漏洞赏金计划管理 AI 提交内容的方式,并有助于确保提交报告的质量与可靠性。
AI 生成的示例
下图是我使用 Claude Code 结合一直在逆向工程的 Vivotek 固件所生成的一个示例。该漏洞无法被利用,因为用户提供的输入是整数而不是字符串,因此无法进行命令注入。
OS Command Injection in apply_ipfilter_rule()
CVSS score: 9.8 (CRITICAL)
CWE: CWE-78
Location: 0x0000a0cc
Description
Complex iptables rule construction with unsanitized IP range parameters passed to shell commands via popen().
Vulnerable code
// Constructs command like: /usr/sbin/confclient -s ipfilter_ipv4list_0_"0;malicious;echo"
snprintf(PTR_DAT_0000a4fc, 0xff, PTR_s__sipfilter_ipv4list_i_d__s__s_____0000a530, PTR_DAT_0000a4dc, // confclient script
param_3, // List index (user controlled)
param_1, // IP range START (unvalidated)
param_2); // IP range END (unvalidated)
pFVar5 = popen(PTR_DAT_0000a4fc, "r"); // Passes to shell
研究人员的作用:人工监督至关重要
AI 固然是一种非常有用的工具,但必须辅以人类的专业知识。如果研究人员在不了解 AI 工具底层逻辑的情况下盲目使用这些工具,则会面临遗漏错误和产生不可靠发现结果的风险。
完全依赖 AI 是不负责任的做法;人工监督对于核实与验证结果至关重要,能够确保仅报告真正的漏洞。
降低风险
为了降低这些风险,安全社区必须采取谨慎的做法。在提交相关报告之前,研究人员应当通过人工分析与实验来验证 AI 的发现结果。
此外,还应制定相关指南,以确保在漏洞研究中负责任地使用 AI。这些指南应包含强制性的验证步骤以及对研究人员的培训内容,以加深他们对 AI 局限性的理解。
更广泛的影响
安全社区不仅需要面临在漏洞挖掘中利用 AI 技术所带来的技术挑战,还必须应对它造成的更广泛的影响。大量低质量 CVE 的泛滥不仅会削弱对安全研究流程的信任,还会分散人们对严重漏洞的关注。维护 CVE 系统的公信力势在必行,我们必须确保它始终是开发人员与企业值得信赖的可靠资源。
在漏洞研究人员发现并负责任地披露供应商产品中的漏洞后,许多企业都会以漏洞赏金的形式向其支付报酬。尽管这些计划对双方都极具价值,但他们有时可能会因误报而陷入困境。
AI 工具:提升了速度和普及率,但几乎没有任何验证
参与这些计划的研究员们,在丰厚奖金的诱惑下有着极强的动力去尽可能多地生成漏洞报告,而通过使用 AI 工具,他们创建这些报告的速度更是呈指数级增长。
如今,几乎没有编程经验的人也已经开始通过“氛围编程”(AI 辅助的代码生成)来创建应用程序和服务。虽然这在理论上听起来很美好,但如果使用不当,将会带来安全漏洞与效能问题。
在 AI 辅助的漏洞研究领域,此类隐患同样不可避免。对漏洞研究几乎毫无了解的人,可能会倾向于进行类似“氛围编程”的研究,并将所有工作都交由 AI 工具来完成,而几乎不做任何验证。
既然实际工作量很小,而且生成报告的速度远比手动生成快得多,谁还在乎 AI 生成的漏洞报告是否准确?只要其中几份报告被判定有效,您就能很快能拿到赏金。
与此同时,这不仅拖慢了运营这些漏洞赏金计划的供应商和企业的处理流程,还削弱了他们的信心,同时降低了他们依赖第三方研究人员提交的漏洞报告的意愿。
呼吁采取谨慎态度并承担负责
AI 在提升网络安全防御能力方面蕴含着巨大的潜力,但必须谨慎地加以利用。通过整合人工监督并采取负责任的做法,安全社区可以在不影响漏洞报告准确性和可靠性的情况下充分利用 AI 的强大能力。
让我们采取一种平衡的策略,将 AI 的优势与人类专家的智慧相结合,以应对复杂的网络安全形势。
标签