Применить американский нечеткий Лоп как часть Travis CI?

Я хотел бы запустить американскую нечеткую лопу как часть Travis CI. Как я могу это сделать?

1 ответ

Вот мои попытки - мне удалось запустить 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

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

конфигурировать

#!/bin/sh
true

app.c

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

Замечания:

Как указал пользователь cubuspl42 в своем комментарии к этому вопросу, Travis CI имеет ограничения по времени. Это означает, что вы можете переместить выходной каталог в Git и запустить AFL в режиме возобновления. Вы также можете заключить команду в timeout запрограммировать и / или заменить cycles_wo_finds > 20 с меньшим числом в этой строке (и, возможно, некоторые другие в будущем).

Другие вопросы по тегам