1500美元测试:LLM能否攻破定制漏洞应用
「一位开发者构建了包含多个漏洞的Web应用,并花费1500美元测试主流LLM的渗透测试能力,结果揭示AI在网络安全领域的潜力与局限。」
近日,一位名为Kasra的开发者进行了一项有趣的实验:他构建了一个包含多个常见安全漏洞的Web应用,并花费1500美元调用主流大语言模型(LLM)的API,测试这些模型能否自主识别并利用漏洞。这项实验不仅展示了LLM在自动化渗透测试中的潜力,也暴露了当前模型在处理复杂安全任务时的明显短板。
Kasra设计的应用故意包含了SQL注入、跨站脚本(XSS)、路径遍历、不安全的直接对象引用(IDOR)以及命令注入等典型漏洞。他选择了GPT-4、Claude 3 Opus和Gemini 1.5 Pro三款主流模型,并为每个模型提供了相同的初始提示词:扮演一名安全研究员,对目标应用进行渗透测试,并尽可能发现和利用漏洞。每次测试都从零开始,模型需要自主决定扫描路径、构造攻击载荷并分析响应。
实验结果显示,LLM在识别简单、直接的漏洞方面表现出色。例如,所有模型都能轻松发现并利用基本的SQL注入漏洞——当应用在登录表单中直接拼接用户输入时,模型能够迅速构造出' OR '1'='1这样的经典注入语句,绕过认证。同样,对于反射型XSS和简单的路径遍历,模型也能在几次尝试内成功触发。这些结果验证了LLM在理解常见攻击模式方面的能力,尤其是当漏洞模式与训练数据中的示例高度相似时。
然而,当面对需要多步骤推理或上下文理解的复杂漏洞时,模型的表现急剧下降。例如,一个需要先注册账号、登录、修改个人资料中的图片URL,然后通过另一个页面触发文件包含的漏洞,几乎所有模型都未能完成。它们常常在某个步骤中断,或者错误地认为已经成功。更关键的是,模型缺乏对应用整体架构的理解——它们倾向于线性地尝试攻击,而不会像人类渗透测试者那样建立“攻击链”或进行横向移动。此外,模型在解析JavaScript动态生成的内容、处理CSRF令牌以及理解应用状态(如会话管理)时也频繁出错。
成本方面,1500美元主要用于支付API调用费用。Kasra指出,由于模型在探索阶段会发送大量冗余请求(例如对同一个端点反复尝试不同的参数组合),导致token消耗远超预期。相比之下,一个熟练的人类安全研究员可能在更短的时间内完成相同范围的测试,且成本可控。这表明,在当前阶段,LLM更适合作为辅助工具来加速漏洞发现,而非完全替代人工。
这项实验的意义在于,它为AI在网络安全领域的应用提供了宝贵的实证数据。一方面,LLM确实能自动化处理部分重复性、模式化的安全检测任务,帮助开发者快速发现低 hanging fruit 漏洞。另一方面,模型在推理、规划和适应未知环境方面的不足,提醒我们当前AI还远未达到自主渗透测试的水平。未来,随着模型上下文长度的增加、推理能力的提升以及专用安全训练数据的丰富,LLM或许能承担更复杂的角色,但在此之前,人机协作仍是最有效的方式。
来源:Heooo AI工具导航