2026年10月13日 1 分钟阅读

LLM Fuzz CI:让编码 Agent 为测试生成对抗输入

tinyash 0 条评论

AI 生成代码之后,测试常常仍只覆盖开发者预先想到的输入。Tiime Software 的 LLM Fuzz CI 采取了一个更克制的办法:开发者先写好断言,再让编码 Agent 为标记的测试构造对抗输入。模型负责探索输入空间,测试断言负责判断结果,不把“模型觉得可疑”直接等同于漏洞。

它适合已有 Python/JavaScript 测试、并希望在 GitHub Actions 中增加一轮 AI 辅助输入生成的团队。项目 README 展示了 pytest 与 Vitest 用法,并以 GitHub Actions 工作流串起收集目标、生成输入、运行测试与汇总报告。仓库当前标注 MIT 许可证;实际接入前仍应按团队的模型密钥和 CI 数据策略审查权限与费用。

核心思路:生成器与判定器分开

传统 fuzzing 通过变异或生成输入寻找程序边界行为;LLM Fuzz CI 则让编码 Agent 阅读被标记的测试及其调用方式,提出更有语义的输入。关键区别在于:Agent 产出候选输入,现有测试断言仍是判定依据。例如,测试可以要求 HTML 清理函数的结果不含