StackSight:通过大语言模型和神经符号思维链反编译揭示 WebAssembly
软件工程
2024-06-10 v1 人工智能
机器学习
摘要
WebAssembly 在 Web 应用中实现近原生性能,并越来越多地被用于需要高性能和强安全性的任务。然而,其类似汇编的语法、隐式栈机器和低级数据类型使得人类开发者极难理解,这激发了对有效 WebAssembly 逆向工程技术需求。在本文中,我们提出 StackSight,一种新颖的神经符号方法,结合大语言模型与高级程序分析,将复杂的 WebAssembly 代码反编译为可读的 C++ 片段。StackSight 通过静态分析算法可视化和追踪虚拟栈变化,然后应用思维链提示以利用 LLM 的复杂推理能力。评估结果表明,StackSight 显著改进了 WebAssembly 反编译。我们的用户研究也表明,StackSight 生成的代码片段具有显著更高的胜率,并能更好地理解代码语义。
引用
@article{arxiv.2406.04568,
title = {StackSight: Unveiling WebAssembly through Large Language Models and Neurosymbolic Chain-of-Thought Decompilation},
author = {Weike Fang and Zhejian Zhou and Junzhou He and Weihang Wang},
journal= {arXiv preprint arXiv:2406.04568},
year = {2024}
}
备注
9 pages. In the Proceedings of the 41st International Conference on Machine Learning (ICML' 24)