libfuzzer engine_asan 是不是没换行?
远程提交估计之前 sed 替换的语言要再改下,而且服务器和 bot 机器应该要分别替换。
比如 第二行:sed -i "s/--env_var LOCAL_GCS_SERVER_HOST=...
服务器那边不能用本地 ip 了,要用内网 ip;bot 机器那是改哪里不太确定 应该要指定服务器内网 ip 了,可以看看相关报错分析下,我这还是都在一台机器上。
另外运行几小时找不到可能是报错了(参见#75 楼),也可能是时间还要再久些。
安装相应的库,无法解决?
原有界面项目(包含外部输入流程),按照示例实现一个 fuzz 命令行版(将输入流程接入 fuzz),并且上传 job 配置运行即可,如果命令行程序正确运行大概半天或一天后就会看到跑出来的案例。如果不正常就要看相关 log 来定位了:https://github.com/google/clusterfuzz/issues/670
另外 之前查过 好像也有 java 适配 fuzzer 的开源项目,不过可能也需要些开发成本
我们部门刚开始实际使用,因为产品是有 ui 的,但 dock 里启动 ui 报错,所以折腾了一下在单做的 cmd 模式中绕过 ui 相关的。跑了两天发现 11 个(或组)问题,其中五个(或组)安全相关的,预计下周找相关开发分析确认并处理。
坑四建议还是通过翻墙解决比较简单
没遇到过 是不是代理设置问题? 发一下具体的参数 还有出错的输出信息上下文
另外如果是在 docker 里运行 clusterfuzz,docker run 命令还要增加--privileged,否则 LeakSanitizer 会报错:LeakSanitizer does not work under ptrace
应该要更久些,看机器性能吧,找到漏洞后,会在 testcases 页面看到问题记录,如下图:
点进去,可以看到调用栈等详细信息
这个页面确实不好找,比如这里http://172.17.0.2:9000/testcases
在左上角那个三条横线的地方,点一下就会弹出一个面板,job,bot 等都可以在这里找到
已经可以跑起来谷歌的示例了,多谢楼主趟路,上面我也遇到的问题,我再一一回复下
坑 5 我已经解决了,其实不用改代码里各处的变量定义,修改脚本的启动参数即可,方式如下:
sed -i "s/--admin_port={admin_port}/--admin_port={admin_port} --admin_host=0.0.0.0 --host=0.0.0.0 --enable_host_checking=false /" /clusterfuzz/src/local/butler/run_server.py
sed -i "s/--env_var LOCAL_GCS_SERVER_HOST={local_gcs_server_host}/--env_var LOCAL_GCS_SERVER_HOST=http:\/\/172.17.0.2:9008/" /clusterfuzz/src/local/butler/run_server.py
sed -i "s/localhost:%d/0.0.0.0:%d/" /clusterfuzz/src/go/testing/gcs/gcs.go
其中第二行是我 docker 容器的 ip,是为了解决网站访问提交 job 压缩包时的上传地址问题
第三行是为了 9008 那个端口,变成 0.0.0.0