作为 Travis CI 运行的一部分,我想运行American Fuzzy lop 。我怎样才能做到这一点?
问问题
236 次
1 回答
2
这是我的尝试 - 我设法以这种方式运行 AFL:
https://github.com/d33tah/travis-test-c-app
.travis.yml
language: c
install: wget "http://lcamtuf.coredump.cx/afl/releases/afl-1.88b.tgz" -O- | tar zxf - ; pushd . ; cd afl-*; make PREFIX=/tmp/afl install; echo core | sudo tee /proc/sys/kernel/core_pattern; popd
生成文件
CC=/tmp/afl/bin/afl-gcc
all: app
test: app
./perform_fuzzing
perform_fuzzing
#!/bin/bash
AFL_EXIT_WHEN_DONE=1 /tmp/afl/bin/afl-fuzz -i i -o o ./app >/dev/null
cat o/fuzzer_stats
配置
#!/bin/sh
true
应用程序.c
int main() {
if (getchar() == '1')
abort();
return 0;
}
笔记:
正如用户cubuspl42在他对这个问题的评论中指出的那样,Travis CI 有时间限制。这意味着您可能希望将输出目录推送到 Git 并在恢复模式下运行 AFL。您可能还想用timeout
program 包装命令和/或在此行cycles_wo_finds > 20
中替换为较小的数字(将来可能还有其他一些数字)。
于 2015-10-13T21:39:54.837 回答