You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何定位libFuzzer针对PHP源码生成的NEW_FUNC对应测试用例

libFuzzer中NEW_FUNC对应测试用例的查找方案

可行性说明

这种查找完全可行,属于libFuzzer的设计支持范围,并非超出其用途。

具体实现方法

  • 实时追踪:当libFuzzer输出NEW_FUNC日志时,会自动将触发新代码覆盖的测试用例写入corpus目录(或通过-artifact_prefix指定的路径)。此时查看corpus中最新生成的哈希命名文件,就是触发zend_hash_packed_grow的目标用例。
  • 事后批量验证:如果错过实时时机,可通过以下方式批量筛选:
    1. 使用llvm-cov配合你的fuzzer二进制文件,逐个运行corpus中的文件,检查是否覆盖了zend_hash_packed_grow(对应路径/php-src/Zend/zend_hash.c:312)。
    2. 编写脚本遍历corpus目录,对每个文件执行fuzzer并收集覆盖数据,基于clang的-fsanitize-coverage相关选项筛选出符合条件的用例。

额外提示

你使用的fuzzer-parser.c是PHP解析器专用fuzzer,触发目标函数的测试用例通常是能触发哈希表扩容的PHP代码(比如创建大规模数组、特定结构的数组操作等)。

内容的提问来源于stack exchange,提问作者JSowa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 02:33:17