本文详细介绍了作者利用大语言模型(LLM)辅助模糊测试,从而挖掘Gleam编译器潜在缺陷的实验过程。Gleam是一种运行在BEAM虚拟机上的类型安全编程语言。传统的编译器模糊测试通常依赖基于语法树的随机变异,需要编写复杂的语法规格,且容易在编译器的词法分析阶段就被拦截,难以深入逻辑层。作者尝试使用LLM作为生成器,通过精心设计的提示词工程,引导大模型生成符合Gleam语法规范的代码片段。这些代码片段虽然语法正确,但可能在语义上极具破坏性或涵盖极端的边缘情况。文章展示了如何构建自动化管道,将LLM生成的代码输入编译器,监控其是否出现崩溃、恐慌或内部错误。实验不仅发现了若干影响编译器稳定性的具体Bug,还验证了修复方案的有效性。此外,作者对LLM在安全测试中的角色进行了客观评估,指出虽然LLM在生成结构化输入方面表现出色,能够绕过传统的语法防护,但其生成速度受限且成本较高,无法完全替代传统的模糊测试工具,二者结合才是最优解。
事件分析
核心观点:大模型将模糊测试从“随机碰撞”进化为“语义诱导”,AI不仅是编码助手,更将成为保障底层软件安全的关键“红队”工具。
原文链接:Hacker News

评论前必须登录!
立即登录 注册