2026 · 会议论文

CASCADE:谷歌基于大语言模型的 JavaScript 反混淆器

CASCADE: LLM-powered JavaScript Deobfuscator at Google

利用 Gemini 定位 Obfuscator.IO 为字符串混淆插入的前置(prelude)函数,再在 JSIR 编译器中间表示上执行常量传播与内联,以确定性方式还原字符串字面量和 API 名称。

研究范围与局限

该方法针对 Obfuscator.IO 的字符串混淆;控制流平坦化、其他混淆器及基于智能体的设计留待后续工作。评测以 Obfuscator.IO 的四种预设配置混淆 ETH 150k JavaScript 数据集中的 3,000 个程序,衡量前置函数识别、还原的字面量数量和运行时间,而非功能等价性。生产部署及扫描规模均为作者自述,生产环境的预筛选依赖一条未公开的 YARA 规则。

与本合集的关联

展示了将 LLM 限定于定位混淆辅助函数、由编译器中间表示完成改写的做法,可作为网站反混淆的实用模式。

发表与复核详情

发表载体
ICSE-SEIP 2026
发表状态
会议论文
出版/提交日期
2026 年 4 月 12 日
日期依据
采用 ACM 在 Crossref 登记的印刷出版日期,与 ICSE 2026 开幕日期一致;在线出版日期在元数据说明中单独记录。
arXiv 首次提交
2025 年 7 月 23 日
arXiv
2507.17691
已复核的 arXiv 版本
v2
DOI
10.1145/3786583.3786873

ACM 在 Crossref 登记的元数据记载印刷出版于 2026-04-12,在线出版于 2026-07-11,页码为 292–302。出版方标题写作“LLM-powered”,arXiv 记录则大写为“Powered”。审阅文本为带有 ICSE-SEIP '26 页眉的 arXiv v2。论文称其提示词模板和 JSIR 已在 google/jsir 开源。固定提交中该 Apache-2.0 仓库包含 JSIR 及前置函数提取、动态常量传播等代码,但未发现提示词模板、Gemini 流程或评测集文件;论文在图 5 中给出了前置函数识别提示词,并将开源 CASCADE 本身列为后续工作。

来源复核于

本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。

一手来源

  1. https://doi.org/10.1145/3786583.3786873
  2. https://api.crossref.org/works/10.1145/3786583.3786873
  3. https://arxiv.org/abs/2507.17691
  4. https://github.com/google/jsir/blob/3ef1529ee4ecaa97f2891125b8d01ba2d0a75c3e/README.md
  5. https://github.com/google/jsir/blob/3ef1529ee4ecaa97f2891125b8d01ba2d0a75c3e/LICENSE
  6. https://github.com/google/jsir/blob/3ef1529ee4ecaa97f2891125b8d01ba2d0a75c3e/maldoca/js/ast/transforms/extract_prelude/pass.h
  7. https://github.com/google/jsir/blob/3ef1529ee4ecaa97f2891125b8d01ba2d0a75c3e/maldoca/js/ir/analyses/dynamic_constant_propagation/dynamic_prelude.h