遇见数据集

devirt-corpus

收藏
Hugging Face2026-06-09 更新2026-06-10 收录
官方服务:

资源简介:

devirt-corpus 是一个专门用于 JavaScript 代码反混淆研究的开源数据集。该数据集包含大量经过混淆处理的 JavaScript 代码样本,每个样本均通过反混淆器进行处理,并提供了混淆前后的源代码对比以及可读性量化指标。数据集规模在 1,000 到 10,000 个样本之间。数据内容主要由两部分构成:一是通过 javascript-obfuscator 工具在不同配置下对原始种子代码进行混淆生成的样本(位于 generated/ 目录);二是从真实世界收集并经过过滤和去重处理的 JavaScript 脚本(位于 real/ 目录)。每个样本均记录其来源路径(path)、技术类别(source,如 generated/strings_rc4 或 real/tranco)、混淆输入代码(input)及其字节大小(in_bytes)、反混淆输出代码(output)及其字节大小(out_bytes)。此外,数据集还提供了关键的可读性评估指标:保留字节比例(kept_pct,即 out_bytes / in_bytes)以及混淆前后机器生成标识符(如十六进制格式 _0x… 或短标识符)的占比(opaque_in / opaque_out)。该数据集适用于代码反混淆算法开发、混淆效果评估、源代码可读性分析以及软件安全研究等任务。所有样本的指标数据以 JSON Lines 格式存储在 metrics/*.jsonl 文件中,便于通过数据集查看器浏览或程序化处理。

devirt-corpus is an open-source dataset specifically designed for research on JavaScript code deobfuscation. It contains a large number of obfuscated JavaScript code samples, each processed by a deobfuscator, and provides comparisons of source code before and after deobfuscation along with readability quantification metrics. The dataset size ranges from 1,000 to 10,000 samples. The data content primarily consists of two parts: samples generated by obfuscating original seed code using the javascript-obfuscator tool under different configurations (located in the generated/ directory), and real-world collected JavaScript scripts that have been filtered and deduplicated (located in the real/ directory). Each sample records its source path (path), technical category (source, such as generated/strings_rc4 or real/tranco), obfuscated input code (input) and its byte size (in_bytes), deobfuscated output code (output) and its byte size (out_bytes). Additionally, the dataset provides key readability evaluation metrics: the percentage of bytes retained (kept_pct, i.e., out_bytes / in_bytes) and the proportion of machine-generated identifiers (e.g., hexadecimal format _0x… or short identifiers) before and after obfuscation (opaque_in / opaque_out). This dataset is suitable for tasks such as deobfuscation algorithm development, obfuscation effectiveness evaluation, source code readability analysis, and software security research. All sample metric data is stored in JSON Lines format in metrics/*.jsonl files, facilitating browsing via dataset viewers or programmatic processing.

创建时间:
2026-06-09
原始信息汇总

数据集概述:devirt-corpus

  • 数据集名称:devirt-corpus
  • 许可证:MIT
  • 规模:1,000 ~ 10,000 条样本
  • 标签:代码、JavaScript、反混淆、混淆
  • 用途:提供混淆后的 JavaScript 代码,以及每条样本经过反混淆处理后的指标数据,用于评估反混淆效果。

数据内容

每条样本包含以下字段:

字段 含义
path 样本路径
source 混淆技术或来源(例如 generated/strings_rc4 表示生成类,real/tranco 表示真实类)
in_bytes / out_bytes 混淆输入大小 / 反混淆输出大小
kept_pct 输出大小占输入大小的百分比(out_bytes / in_bytes
opaque_in / opaque_out 反混淆前 / 后,机器生成标识符(十六进制 _0x… 或 1-2 字符)的比例
input / output 混淆后的源代码 / 反混淆后的源代码

数据布局

  • generated/<profile>/<seed>.js:使用 javascript-obfuscator 按不同配置处理种子文件生成的混淆样本。
  • real/<source>/…:真实世界的 JavaScript 脚本,经过过滤和去重。
  • seeds/:生成部分所使用的原始未混淆程序。
  • metrics/*.jsonl:每条样本的评测指标文件,以 JSONL 格式存储,驱动数据集查看器展示。
搜集汇总
数据集介绍
devirt-corpus 数据集图片
构建方式
devirt-corpus数据集旨在为JavaScript代码混淆与反混淆研究提供标准化评测资源。该数据集构建过程严谨,包含了两种来源的样本:通过javascript-obfuscator工具对种子程序施加不同混淆配置后生成的合成样本,以及从真实网络环境中采集并经过过滤去重的实际混淆脚本。所有样本均经过统一的反混淆器处理,并记录下混淆前输入与反混淆后输出的代码及多项量化评估指标,最终以JSONL格式存储在metrics目录下,形成完整的样本-指标对照表。
特点
该数据集的核心特色在于其多维度的量化评估体系。每个样本均提供了输入与输出的字节大小及比值,直观反映反混淆的压缩效果;同时,通过对标识符中机器生成特征(如十六进制编码或极短命名)比例的统计,从代码可读性角度量化了混淆与反混淆的语义差异。数据集结构清晰,按生成样本与真实样本分类组织,并附有原始种子程序,便于研究者追溯分析。样本数量在1千至1万之间,规模适中且覆盖多种混淆技术和实际场景。
使用方法
研究者可通过HuggingFace数据集加载工具直接调用devirt-corpus,其默认配置下会读取metrics目录下所有JSONL文件作为训练集。每个样本以字典形式提供,包含路径、混淆技术来源、输入输出字节数、可读性指标以及混淆/反混淆后的源代码。在使用时,可根据source字段区分样本来源,利用kept_pct评估反混淆效率,结合opaque_in与opaque_out的差异分析可读性改善程度。数据集支持灵活拆分与过滤,便于开展对比实验和消融研究。
背景与挑战
背景概述
随着Web应用安全需求的日益增长,JavaScript代码混淆与反混淆技术成为软件保护与恶意代码分析领域的核心议题。devirt-corpus数据集创建于近年来,由专注于代码安全的研究团队开发,旨在系统性地评估反混淆算法性能。该数据集汇集了从现实世界收集的混淆JavaScript样本与通过javascript-obfuscator工具生成的合成样本,覆盖多种混淆策略。每个样本均提供混淆前后的源代码及可读性度量指标,为研究者量化反混淆效果提供了标准化基准。其发布推动了代码反混淆研究的可复现性,对安全分析工具优化、逆向工程及恶意脚本检测等领域产生了重要影响。
当前挑战
数据集所解决的领域问题在于JavaScript混淆技术日益复杂,传统反混淆方法难以在保持语义等价的前提下有效恢复代码可读性。现有评估通常依赖主观判断或单一指标,缺乏统一、可量化的基准。构建过程中面临的核心挑战包括:真实世界混淆样本的收集与去重,需在保障数据隐私与版权合规性下获取代表性样本;合成样本的混淆配置参数繁多,需确保其覆盖主流混淆策略且避免过拟合;度量指标体系设计需兼顾代码体积变化、标识符可读性等多维度特征,确保评估结果与人类感知一致。
常用场景
经典使用场景
devirt-corpus数据集专为JavaScript代码反混淆研究而构建,在程序分析与软件安全领域占据独特地位。其经典使用场景聚焦于评估和训练反混淆工具的有效性:研究人员可将该数据集中的混淆样本作为输入,利用其提供的反混淆结果及可读性指标(如保留比例、标识符混淆度变化)进行对比分析。通过整合来自生成样本(经javascript-obfuscator处理)与真实世界脚本(如从Tranco等来源收集)的多样化数据,该数据集为衡量反混淆算法的鲁棒性提供了标准化基准,尤其适用于测试工具在应对不同混淆技术(如字符串加密RC4、控制流扁平化)时的性能退化情况。
解决学术问题
在学术研究中,devirt-corpus数据集解决了代码反混淆领域长期存在的一个核心难题:缺乏统一、可复现且包含细粒度指标的高质量评估基准。传统评估多依赖零散的人工收集样本或自建小规模测试集,导致研究结果难以横向比较。该数据集通过提供结构化字段(如输入输出字节数、保持比例、符号混淆前后占比)及清晰的分源标注(生成/真实),使研究者能量化反混淆过程对代码体积和可读性的具体影响。其意义在于推动了反混淆技术的科学评估范式,促使社区从定性判断转向基于可测量指标的严格验证,进而提升了该领域研究成果的可信度与可复现性。
衍生相关工作
基于devirt-corpus数据集,学术界已衍生出多项具有影响力的相关工作。在方法层面,研究者利用其提供的指标(如`kept_pct`和`opaque_*`比率)发展了新型反混淆评估框架,例如提出结合代码体积缩减与可读性恢复的双维度评分系统。在工具层面,部分工作专注于改进反混淆引擎的符号解析策略,通过分析数据集中真实世界样本的混淆模式来优化AST变换规则。此外,该数据集还催生了针对混淆技术本身的研究,如对比不同混淆器(如javascript-obfuscator配置文件)对代码静态度量的影响,并进一步探讨如何设计更具防御能力的混淆方案。这些衍生工作共同构建了从评估到生成的闭环研究生态。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务