GitHub Security Lab 发布 LLM 驱动 Fuzzing:C/C++ 模糊测试全流程自动跑

GitHub Security Lab 这次放出一个叫 LLM 驱动 Fuzzing Taskflow 的东西,目标是把 C/C++ 项目的模糊测试从头到尾自动化。对写底层代码的人来说,这是个能省真功夫的工具,值得认真看一眼。

先说模糊测试(fuzzing)是干嘛的。它不靠人写测试用例,而是用程序不停地往被测函数里塞各种随机、畸形、边界输入,看会不会崩、会不会内存越界、会不会死循环。C/C++ 因为是手动管内存的语言,这类漏洞特别多也特别隐蔽,fuzzing 是找它们的主力手段。但传统 fuzzing 有个痛点:得人先写 harness(驱动代码),告诉工具"喂哪个函数、怎么构造输入",这一步门槛不低。

LLM 驱动的思路,就是让模型去补这块。它读代码、理解函数签名和上下文,自动生成测试 harness、构造有意义的输入种子、分析覆盖了哪些分支,再反向指导下一轮该怎么喂。等于把"懂代码的人"那部分脑力活,交给模型来干,人只需要在关键节点确认。

对安全团队,价值很明显。以前一个中型 C/C++ 项目,搭 fuzzing 环境、写 harness、调一周才出结果。现在这套 Taskflow 把流程串起来,覆盖率上得更快,漏洞暴露得更早。尤其对那些历史遗留、没人敢大改的老代码库,自动 fuzzing 是最省心的体检方式。

但冷静看,模型生成的 harness 也可能理解错语义,喂出根本到不了真实逻辑的输入,看着跑得热闹其实没测到点子上。所以它更适合当"第一遍粗筛",真要置信,复杂逻辑还是得人复核。GitHub 把它做成 Taskflow 而不是黑盒产品,意思也是让你嵌进自己的流程里看每一步。

对开发者,这代表一个趋势:安全测试正在从"专家手工活"变成"agent 流水线"。你不用成了 fuzzing 专家也能用上,门槛降下来,代码更安全的概率就上去了。中小团队尤其该关注这类工具,因为你们最缺的就是专职安全人力。

返回AI编程