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 引用原作者。
一手来源
- https://doi.org/10.1145/3786583.3786873
- https://api.crossref.org/works/10.1145/3786583.3786873
- https://arxiv.org/abs/2507.17691
- https://github.com/google/jsir/blob/3ef1529ee4ecaa97f2891125b8d01ba2d0a75c3e/README.md
- https://github.com/google/jsir/blob/3ef1529ee4ecaa97f2891125b8d01ba2d0a75c3e/LICENSE
- https://github.com/google/jsir/blob/3ef1529ee4ecaa97f2891125b8d01ba2d0a75c3e/maldoca/js/ast/transforms/extract_prelude/pass.h
- https://github.com/google/jsir/blob/3ef1529ee4ecaa97f2891125b8d01ba2d0a75c3e/maldoca/js/ir/analyses/dynamic_constant_propagation/dynamic_prelude.h