<div dir="ltr"><div>(Crosspost from core-libs-dev@: <a href="https://mail.openjdk.java.net/pipermail/core-libs-dev/2021-May/077483.html">https://mail.openjdk.java.net/pipermail/core-libs-dev/2021-May/077483.html</a>)</div><div><br></div>I'm one of the maintainers of Jazzer (<a href="https://github.com/CodeIntelligenceTesting/jazzer" rel="noreferrer" target="_blank">https://github.com/CodeIntelligenceTesting/jazzer</a>), a new open-source fuzzer for the JVM platform. Jazzer has recently been integrated into Google's OSS-Fuzz (<a href="https://google.github.io/oss-fuzz/" rel="noreferrer" target="_blank">https://google.github.io/oss-fuzz/</a>) to allow for free continuous fuzzing of important open-source Java projects. Jazzer has already found over a hundred bugs and eight security issues in libraries such as Apache Commons, PDFBox and the OWASP json-sanitizer.<div dir="auto"><br></div><div dir="auto">Jazzer finds unexpected exceptions and infinite loops by default, but can also be used to check domain-specific properties such as decrypt(encrypt(data)) == data. Since it tracks the coverage it achieves using instrumentation applied by a Java agent, it can synthesize interesting test data from scratch.<div dir="auto"><br></div><div dir="auto">If there is interest from your side, I could set up the Java core libraries themselves for fuzzing in OSS-Fuzz. Especially the parts that are frequently applied to untrusted input, such as java.security.* and javax.imageio.*, would benefit from fuzz tests. I have prepared basic fuzz tests for some of the classes in these packages at <a href="https://github.com/CodeIntelligenceTesting/oss-fuzz/tree/openjdk/projects/openjdk" target="_blank">https://github.com/CodeIntelligenceTesting/oss-fuzz/tree/openjdk/projects/openjdk</a>, which has already resulted in a few bug reports by running it locally (JDK-8267086 is one of them affecting java.security.*).</div><div dir="auto"><br></div><div dir="auto">All I would need from you is:</div><div dir="auto"><br></div><div dir="auto">* a list of email addresses to which the fuzzer findings should be sent (ideally associated with Google accounts for authentication to full reports on <a href="http://oss-fuzz.com/" target="_blank">oss-fuzz.com</a>),</div><div>* ideas for additional fuzz tests, in particular those where there are interesting properties to verify.</div><div><br></div><div>The technical questions about setting up the OpenJDK in OSS-Fuzz have already been resolved (see also <a href="https://github.com/google/oss-fuzz/issues/5757" target="_blank">https://github.com/google/oss-fuzz/issues/5757</a>).</div><div><br></div><div>If you need more information on OSS-Fuzz or fuzzing in general, I am happy to help.</div><div dir="auto"><br><div dir="auto">Fabian (@fmeum on GitHub)</div></div></div></div>