Apply american fuzzy lop as a part of Travis CI?

非 Y 不嫁゛ 提交于 2019-12-10 16:48:01

问题


I would like to run american fuzzy lop as a part of Travis CI run. How can I do that?


回答1:


Here are my attempts - I managed to run AFL this way:

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

Makefile

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

configure

#!/bin/sh
true

app.c

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

Note:

As user cubuspl42 pointed out in his comment to this question, Travis CI has time limitations though. This means that you might want to push the output directory to Git and run AFL in resume mode instead. You might also want to wrap the command with timeout program and/or replace cycles_wo_finds > 20 with a smaller number in this line (and possibly some others in the future).



来源:https://stackoverflow.com/questions/32238907/apply-american-fuzzy-lop-as-a-part-of-travis-ci

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!