文章总结: 该文介绍JsDeObsBench,一个评估大语言模型在JavaScript反混淆任务中能力的评测基准。框架通过构建混淆代码数据集,利用提示工程驱动LLM生成反混淆代码,并从语法正确性、执行正确性、代码复杂度和可读性等维度评估模型表现。实验表明LLM在代码简化与可读性提升方面有优势,但语法准确性和执行正确性仍有不足。 综合评分: 85 文章分类: AI安全,恶意软件,代码审计,安全工具,应用安全
俄亥俄州立大学 | JsDeObsBench:面向 JavaScript 反混淆的大语言模型评测基准
原创
龙函城 龙函城
安全学术圈
2026年3月12日 21:31 四川
原文标题:JsDeObsBench: Measuring and Benchmarking LLMs for JavaScript Deobfuscation 原文作者:Guoqiang Chen, Xin Jin, Zhiqiang Lin 发表会议:CCS ’25 笔记作者:龙函城 主编:黄诚@安全学术圈
研究概述
随着 Web 应用的快速发展,JavaScript 已成为互联网中最广泛使用的编程语言之一。然而,为了保护程序逻辑或隐藏潜在的恶意行为,大量 JavaScript 代码会采用代码混淆技术,例如变量重命名、字符串编码、控制流变换以及死代码注入等。这些技术能够在不改变程序功能的前提下显著降低代码的可读性,从而增加程序理解和安全分析的难度。研究表明,在互联网平台中超过 40% 的 JavaScript 代码存在混淆或压缩现象,并且代码混淆会显著增加恶意脚本检测系统的漏报率。
近年来,大语言模型在代码理解、程序生成以及自动修复等任务中展现出强大的能力,因此逐渐被研究人员用于自动化代码反混淆。然而,目前相关研究大多集中在个别方法或案例分析上,缺乏统一的评测框架来系统评估 LLM 在 JavaScript 反混淆任务中的能力与局限性。因此,如何构建一个标准化的评测基准,对不同 LLM 的 JavaScript 反混淆能力进行系统比较,成为当前研究中的一个重要问题。
针对上述问题,本文提出 JsDeObsBench,一个用于评估大语言模型在 JavaScript 反混淆任务中能力的评测基准 (benchmark)。该框架通过构建包含多种混淆策略的 JavaScript 数据集,并利用提示工程驱动 LLM 生成反混淆代码,从而系统评测不同模型在代码理解与恢复方面的能力。
图 1 JsDeObsBench 框架整体流程
如图1所示,JsDeObsBench 的整体流程主要包含三个阶段。首先,研究者收集真实 JavaScript 程序,并通过多种常见代码混淆技术生成对应的混淆代码数据集。随后,将这些混淆代码输入大语言模型,并利用 in-context learning 的提示方式引导模型生成反混淆后的代码。最后,通过多维度评估指标对模型输出结果进行分析,包括语法正确性、执行正确性、代码复杂度降低程度以及代码可读性等,从而全面评估不同 LLM 在 JavaScript 反混淆任务中的表现。
在实验部分,作者对多种主流代码大模型进行了系统评测,包括 GPT-4o、Mixtral、Llama 以及 DeepSeek-Coder 等。实验结果表明,大语言模型在代码简化与可读性提升方面具有明显优势,但在语法准确性和执行正确性方面仍存在一定不足。该研究表明,LLM 在自动化 JavaScript 反混淆和恶意代码分析领域具有潜在应用价值,同时也指出当前模型在程序语义保持方面仍有进一步提升空间。
贡献分析
-
贡献点1 构建大规模可执行验证的 JavaScript 反混淆数据集
论文通过对高质量 JavaScript 程序应用多种常见代码混淆技术,构建了一个大规模的反混淆评测数据集。该数据集支持执行验证,能够确保反混淆结果在语义层面保持正确,从而为后续模型评测提供可靠基础。
-
贡献点2 提出 JavaScript 反混淆评测基准 JsDeObsBench
论文提出 JsDeObsBench,一个专门用于评估大语言模型在 JavaScript 反混淆任务中能力的 benchmark。该框架设计了自动化评测流程,从语法正确性、语义执行正确性、代码简化效果以及代码可读性等多个维度对模型生成结果进行综合评估。
-
贡献点3 对多种先进 LLM 进行系统实验评估
论文对六种先进大语言模型进行了系统实验,包括 GPT-4o、Mixtral、Llama 和 DeepSeek-Coder 等。实验结果分析了不同模型在 JavaScript 反混淆任务中的表现,并揭示了当前 LLM 在代码简化方面的优势以及在语法准确性和执行可靠性方面仍存在的不足,为未来研究提供了重要参考。
代码分析
代码链接
- https://github.com/Ch3nYe/JsDeObsBench
-
使用类库分析
该项目整体采用 Python 作为主要实现语言,属于典型的“数据集构建 + 模型调用 + 自动化评测”的研究型代码框架。系统通过调用大语言模型接口完成 JavaScript 反混淆任务,并结合代码分析工具与数据处理库实现混淆代码生成、模型推理以及实验结果统计等功能。整体实现侧重于构建 benchmark 实验流程,而不是训练新的深度学习模型。
-
代码实现难度与工作量评估
从工程实现角度来看,该项目难度属于中等偏上。其核心难点不在于复杂算法设计,而在于将论文中的 benchmark 评测流程完整实现,包括测试数据集生成、代码混淆处理、模型反混淆调用以及多维度评测等步骤。同时系统还需要支持不同模型和不同混淆策略下的大规模实验运行,因此整体工作量主要集中在实验框架与自动化评测流程的设计上。
-
代码关键实现功能
(1)数据集构建模块:该模块负责收集和整理原始 JavaScript 程序,并构建用于反混淆评测的测试数据集。通过对原始代码进行统一处理和组织,为后续混淆生成和模型评测提供基础数据。
(2)代码混淆生成模块:该模块通过多种代码混淆策略对原始 JavaScript 程序进行处理,从而生成不同类型和复杂度的混淆代码。该过程用于模拟真实场景中的代码混淆情况,并构建 benchmark 的测试样本。
(3)LLM 反混淆执行模块:该模块负责将混淆后的 JavaScript 代码输入大语言模型,并利用提示工程驱动模型生成反混淆代码。系统支持批量运行实验,从而评估不同模型在反混淆任务中的表现。
(4)基线方法对比模块:为了更全面地评估 LLM 的能力,系统同时集成了传统反混淆方法作为基线模型,从而在统一实验环境下对比不同方法的性能差异。
(5)结果评估与统计模块:该模块对模型生成的反混淆代码进行自动评估,并统计实验结果。评测指标包括语法正确性、程序执行正确性、代码复杂度降低以及代码可读性等,从多个维度分析不同模型在 JavaScript 反混淆任务中的表现。
论文点评
本文针对当前大语言模型在代码安全分析领域应用迅速发展的背景,系统研究了 LLM 在 JavaScript 反混淆任务中的能力,并提出了 JsDeObsBench 这一评测基准框架。该工作的主要价值在于填补了现有研究中缺乏统一评测标准的问题,通过构建包含多种混淆策略的数据集,并设计语法正确性、执行正确性、代码复杂度降低以及代码可读性等多维度评估指标,对不同 LLM 的反混淆能力进行了系统比较,为后续研究提供了标准化实验环境。
从实验结果来看,大语言模型在代码简化和可读性提升方面表现出较强能力,说明 LLM 在自动化程序理解和安全分析任务中具有一定潜力。然而,论文也指出当前模型在语法准确性和执行正确性方面仍存在不足,部分生成代码无法正确执行或与原程序语义存在偏差,这表明 LLM 在复杂程序语义理解方面仍有改进空间。
总体而言,该研究从 benchmark 的角度系统评估了 LLM 在 JavaScript 反混淆任务中的能力,为研究人员分析模型优势与局限提供了重要参考。不过,论文的数据集主要基于自动生成的混淆代码,与真实恶意 JavaScript 脚本之间仍可能存在差异。未来研究可以结合更多真实攻击样本,并探索更强的程序语义保持方法,从而进一步提升 LLM 在代码安全分析领域中的实际应用价值。
论文文献
Chen G, Jin X, Lin Z. JsDeObsBench: Measuring and Benchmarking LLMs for JavaScript Deobfuscation[C]//Proceedings of the 2025 ACM SIGSAC Conference on Computer and Communications Security (CCS). 2025.
安全学术圈招募队友-ing 有兴趣加入学术圈的请联系 secdr#qq.com
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全学术圈 龙函城 龙函城《俄亥俄州立大学 | JsDeObsBench:面向 JavaScript 反混淆的大语言模型评测基准》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论