paperbot · PL 论文追踪

全部论文 待读 收藏

P2 D-BUNDLR: Destructing JavaScript Bundles for Effective Static Analysis

D-BUNDLR:解构 JavaScript Bundle 以实现有效静态分析
ICSE Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering2026匹配度 3/10 · 论文研究 JavaScript bundle 解包以提升静态分析效果,属于程序分析与静态分析工程,但与用户核心方向(ML/Agent 程序静态分析、LLM/Agent 改进静态分析、浮点或贝叶斯程序分析)没有直接交集;其中机器学习仅用于库识别,并非 LLM/Agent 方法。引用 0 inbox
Wenyuan Xu, Alexi Turcotte, Cristian-Alexandru Staicu
crossref: 2026-09-12

AI 速览

一句话:提出 D-Bundlr,用代码变换、静态分析、机器学习与动态验证解包 JS bundle 并恢复库源码,以提升静态分析效果。

JavaScript 静态分析在漏洞检测中已被广泛研究,但现有方法通常忽略打包(bundling)这一类似编译的开发实践。打包会合并不同来源代码并进行优化,导致单个字母标识符复用和动态特性模拟依赖,从而阻碍静态分析。本文提出一种逆向工程方法:利用领域特定代码变换解包 bundle,并将重新识别的库替换为其源代码。D-Bundlr 结合轻量静态分析将 bundle 拆分为组件、机器学习识别库,以及动态分析验证识别结果。作者实现该工具,并通过比较 CodeQL 在 debundling 前后的输出进行评估。

问题
现有 JavaScript 静态分析忽略 bundling,打包后代码的标识符复用与动态依赖模拟使分析困难。
方法
结合领域特定代码变换、轻量静态分析、机器学习库识别和动态验证,将 bundle 解包并恢复库源码,实现工具 D-Bundlr。
评估
实现 D-Bundlr,并通过比较 CodeQL 在 debundling 前后的输出来评估。
原文摘要(Abstract)

Static analysis for vulnerability detection in JavaScript is an extensively studied research area. However, state-of-the-art approaches ignore bundling, an emerging development practice, akin to compilation, which allows developers to merge code from different providers, while also applying optimizations to reduce code size. A typical bundle heavily reuses single-letter identifiers and extensively relies on dynamic JavaScript features to emulate code dependencies, thus, hindering static analysis. In this work, we propose a reverse engineering approach that relies on domain-specific code transformations to unpack bundles and replace reidentified libraries with their source code. Our technique applies lightweight static analysis to dissect bundles into individual components, machine learning to identify libraries, and dynamic analysis to verify that libraries were correctly identified. We implement this approach in a tool called D-Bundlr, and evaluate it by comparing the output of CodeQL (a popular static analysis tool) before and after debundling.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot11866,
  title = {D-BUNDLR: Destructing JavaScript Bundles for Effective Static Analysis},
  author = {Wenyuan Xu and Alexi Turcotte and Cristian-Alexandru Staicu},
  booktitle = {ICSE},
  year = {2026},
  doi = {10.1145/3744916.3764564}
}