PoCGen:基于大语言模型的npm漏洞利用代码自动生成工具
一款名为PoCGen的工具由斯图加特大学团队开发,结合大语言模型与静态/动态分析技术,自动为npm漏洞生成概念验证代码。该工具已成功应用于多个案例,在SecBench.js和CWEBench.js测试中表现优异。 2025-6-16 16:12:42 Author: www.freebuf.com(查看原文) 阅读量:20 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

工具背景

一款名为PoCGen的工具正在彻底改变安全社区为npm生态系统漏洞生成概念验证(Proof-of-Concept,PoC)利用代码的方式。该工具由斯图加特大学研究人员Deniz Simsek、Aryaz Eghbali和Michael Pradel共同开发,通过结合大语言模型(LLMs)与静态/动态分析技术,实现了原本需要艰苦手动完成的任务自动化。

研究团队表示:"这是首个将大语言模型与静态、动态分析技术相结合,实现全自动PoC利用代码生成的解决方案。"

技术实现原理

JavaScript生态系统(尤其是npm)因安全漏洞泛滥而臭名昭著。仅2024年就披露了超过4万条CVE漏洞,其中很大比例影响npm软件包。然而大多数漏洞披露缺乏可用的PoC利用代码,导致漏洞发现与修复之间存在断层。

PoCGen通过四阶段流程自动从非正式的CVE描述生成利用代码:

  1. 漏洞理解:识别漏洞类型和可能的入口点
  2. 利用代码生成:借助污点路径和代码片段,使用LLM生成候选利用代码
  3. 验证:执行利用代码并根据预设条件进行检查
  4. 优化:迭代改进利用代码直至成功

实战验证

该工具成功为php-date-formatter包中的原型污染漏洞(CVE-2024-57063)生成了有效利用代码。在首次尝试失败后,系统优化方法并生成以下有效载荷:

const maliciousJson = '{"__proto__": {"exploited": true}}';
const maliciousOptions = JSON.parse(maliciousJson);
new DateFormatter(maliciousOptions);

这段代码最终污染了Object.prototype,证实了漏洞利用成功。

性能表现

在两个数据集上的测试结果:

  • SecBench.js(560个漏洞):77%的利用成功率(432个成功案例)
  • CWEBench.js(794个新漏洞):39%成功率(312个成功案例)

其表现比Explode.js工具高出45个百分点,并成功生成了"158个Explode.js无法处理的漏洞"利用代码。研究人员指出:"平均每次PoC利用代码生成尝试耗时11分钟...单次生成成本仅0.02美元。"

应用价值

PoCGen为以下群体提供支持:

  • 开发者:快速理解漏洞并测试补丁
  • 安全研究人员:自动化生成新漏洞报告的利用代码
  • 事件响应人员:更快复现和验证漏洞

研究团队总结道:"通过自动化生成PoC利用代码,PoCGEN使开发者和安全团队能够更快地理解和解决漏洞。"该工具现已公开供研究使用,包括其源代码和数据集,未来有望集成更多漏洞利用代码生成技术。

参考来源:

PoCGen: AI Tool Automates Exploit Generation for npm Vulnerabilities with LLMs

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/435059.html
如有侵权请联系:admin#unsafe.sh