[Development] Submitting Qt to oss-fuzz
Albert Astals Cid
albert.astals.cid at kdab.com
Thu Aug 30 20:42:11 CEST 2018
oss-fuzz is an online fuzzing service run by Google.
They test daily the code base and run fuzzying over it, maintaining a list of open and closed bugs.
As example you can see one of the poppler issues i fixed at
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9382
Everything is done automatically by a bot, except my "This is fixed by" comment, but that's just there for historical reasons, it's not really needed.
Found bugs are sent to a list of trusted address and kept private for 90 days, then if not fixed then they become public.
Fixed bugs become public 30 days after being fixed.
I have made a qimage fuzzer that uses libpng test files as seed corpus.
You can find it at https://github.com/albert-astals-cid-kdab/oss-fuzz
Adding support for Qt is "relatively simple" see
https://github.com/albert-astals-cid-kdab/oss-fuzz/commit/2df60c7af6619b8a6a44b1cd679bf356e6e6ed3f
I made a local test run of the undefined sanitizer and it found
https://paste.kde.org/prkox41mx
in a few seconds, so "it works"
If you want to test it locally you can do
python infra/helper.py build_fuzzers --sanitizer undefined qt
python infra/helper.py run_fuzzer qt qimage_fuzzer
for the undefined sanitizer and
python infra/helper.py build_fuzzers --sanitizer address qt
python infra/helper.py run_fuzzer qt qimage_fuzzer
Unfortunately I have not been able to compile with the memory sanitizer enabled yet.
The most important thing before submitting this upstream is changing the list of trusted addresses the private bugs get sent to.
To have something written i've used my email address but i guess at least i should add eirik.aavitsland at qt.io (listed as QImage maintainer) there too? Anyone else?
I am not sure how the email address thing works, but i think they need to be "google account" activated, whatever that means, so we can't use security at qt-project.org. On poppler i'm using my @gmail.com address and not my @kde.org address since it was just easier.
Comments?
Cheers,
Albert
--
Albert Astals Cid | albert.astals.cid at kdab.com | Software Engineer
Klarälvdalens Datakonsult AB, a KDAB Group company
Tel: Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322)
KDAB - The Qt, C++ and OpenGL Experts
More information about the Development
mailing list