2022 · 预印本
随堂测验!大语言模型能帮助逆向工程吗?
Pop Quiz! Can a Large Language Model Help With Reverse Engineering?
检验 OpenAI 的 Codex 模型 code-davinci-001 能否在零样本问答式提示中回答有关 C 代码的逆向工程问题。程序来自作者编写的模板,涵盖网络安全代码片段以及 PID 控制器、滤波器等工业控制算法,另有五个来自 vx-underground 的单文件 Linux 恶意软件样本。每个程序以原始或名称随机化的源码,或以 gcc -O1 构建(带调试信息、不带调试信息或剥离符号)经 Ghidra 反编译的形式呈现。在探索性的开放式提问之后,作者针对程序用途、能力与关键变量自动生成判断题和简答题,并依据答案标准评分;Codex 在 136,260 个问题中答对 72,754 个。
研究范围与局限
全部结果均来自单一模型 code-davinci-001,OpenAI 已于 2023-03-23 停用该模型,因此无法针对原模型重跑实验,结果也不代表当前的大语言模型。准确率依据自动生成的判断题与简答题测验衡量,判断题以正反两种表述成对提出以揭示回答偏向,并非真实分析任务;总体 53.4% 的正确率使作者得出大语言模型尚不能胜任零样本逆向工程的结论。程序均为可放入模型约 4,000 词元窗口的小型单文件 C 代码,且只以 -O1 编译;真实恶意软件类别仅有五个样本。答案标准结合了作者标注与 capa 工具的能力匹配结果。
与本合集的关联
收录本书目中最早的大语言模型逆向工程评测,为本节后续的大语言模型二进制分析研究提供基线。
发表与复核详情
- 发表载体
- arXiv
- 发表状态
- 预印本
- 出版/提交日期
- 2022 年 2 月 2 日
- 日期依据
- arXiv v1 首次提交日期;未找到后续版本、期刊引用信息或会议论文集出版记录。
- arXiv 首次提交
- 2022 年 2 月 2 日
- arXiv
- 2202.01142
- 已复核的 arXiv 版本
- v1
审阅了 arXiv v1,即唯一版本;其注释为“18 pages, 19 figures”,并链接 Zenodo 记录 10.5281/zenodo.5949075。该编号是数据集 DOI,不作为论文标识符。在 Crossref 中未找到经同行评审的版本。该记录(CC BY 4.0,由同样六位作者发布的 692 MB 文件 codex-reverse.zip)包含测试框架脚本、记录的 Codex 回答及生成的程序实例。本次通过分段请求读取了其中的 README、依赖文件与构建日志:README 要求 Ghidra 和 OpenAI API 密钥,构建日志列出了 experiments/malware 下的编译实例,可见压缩包似乎包含这些恶意软件样本,因此不将其记录为代码链接。本次未完整下载或解压该压缩包,也未运行代码或实验。
来源复核于
本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。