Comments 11
Был The Fuzzing Project с похожими целями, ему, вроде, даже грант от Linux Foundation выдали на это, но конкретно сейчас сайт, похоже, лежит...
Вроде сейчас блог нормально работает: https://blog.fuzzing-project.org/
А вот список проверенного софта с информацией о найденных проблемах больше не доступен: https://fuzzing-project.org/software.html
Правда, боюсь, проблематично "успешно пройти" проверку фаззингом — её, скорее, можно "не завалить" за определённое время под определённым типом тестовых данных. Это же не формальное доказательство.
Google ведет постоянный фаззинг многих open-source проектов: https://github.com/google/oss-fuzz
Вот тут список найденных багов: https://bugs.chromium.org/p/oss-fuzz/issues/list
Более того, они приглашают все открытые проекты присоединяться, и Гугл будет автоматически их проверять. https://security.googleblog.com/2018/11/a-new-chapter-for-oss-fuzz.html
Вот ещё John Regehr сравнивал надёжность старой версии GCC с новыми версиями GCC и Clang. https://blog.regehr.org/archives/1036
ul у меня в системе есть, но он приехал из комплекта bsdmainutils по зависимости от quilt.
Command 'spell' not found
/usr/bin/f77 вообще симлинк от update-alternatives и у меня указывает на /usr/bin/gfortran, который приехал как зависимость от pitivi, который… зачем я его ставил? O_o
Ждём продолжение.
А знает кто-нибудь фаззер, который генерирует JSON, желательно еще «примерно» в рамках заданной схемы?
1. найти фаззер для грамматик. Вот некоторые из них: gramtest, gramfuzz, grammarinator, gromit.
2. использовать property-based тестирование. Для питона хорошим выбором будет Hypothesis, для него есть модуль с поддержкой JSON.
Фаззинг в стиле 1989 года