应用美国模糊lop作为Travis CI的一部分?

时间:2015-08-27 00:42:09

标签: travis-ci american-fuzzy-lop

我想将american fuzzy lop作为Travis CI运行的一部分运行。我怎么能这样做?

1 个答案:

答案 0 :(得分: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

app.c

int main() {
    if (getchar() == '1')
        abort();
    return 0;
}

注意:

正如用户cubuspl42在对此问题的评论中指出的那样,Travis CI虽然有时间限制。这意味着您可能希望将输出目录推送到Git并在恢复模式下运行AFL。您可能还希望使用timeout程序包装该命令和/或将cycles_wo_finds > 20替换为this line中较小的数字(以及将来可能还有其他一些)。