Yes that sounds great, I am back from vacation just now so will be
generally free any time between 0800 and 2100 Central Standard Time.

Thanks,
Andrew
On Fri, Feb 28, 2025 at 7:33 AM Daniel Kiper <daniel.ki...@oracle.com>
wrote:

> Adding Daniel Axtens, Lidong and Nils...
>
> On Thu, Feb 27, 2025 at 01:22:15PM -0500, Andrew Hamilton wrote:
> > Hello,
> >
> > I’m looking for feedback on whether there would be project interest /
> support
> > on me creating an initial fuzz test suite for some core GRUB functions
> and then
> > integrating these fuzzers into the OSS-Fuzz project that would run them
> and
> > automate bug reporting to project owners / maintainers on some predefined
> > periodic basis.
> > https://github.com/google/oss-fuzz
> >
> > Fuzzing helps find program correctness issues like out of bounds
> accesses, use
> > after free, crashes, etc. that can sometimes be used for malicious
> purposes.
> >
> > To get a sense of what a fuzzer suite looks like you could reference an
> > existing project integrated into oss-fuzz like GNUTLS:
> > https://gitlab.com/gnutls/gnutls/-/tree/master/fuzz?ref_type=heads
> >
> > There is some project setup as well in the oss-fuzz repo similar to:
> > https://github.com/google/oss-fuzz/tree/master/projects/gnutls
> >
> > If there is favorable feedback I would perform the following general
> steps:
> > 1. Identify core GRUB functions to fuzz first (likely those usable in
> lockdown
> > and seen as most likely to be widely used at first, and that are seen as
> a
> > possible source of untrusted input).
> > 2. In a private fork of GRUB (with core GRUB maintainers invited):
> >   a. Get a fuzz target added to the build system.
> >   b. Implement fuzzers for the core features.
> >   c. Fix issues identified by the fuzzers, if any.
> >   d. Create docs around how to build the fuzzers, run them, and locally
> > troubleshoot issues
> >    e. Submit patches to the maintainers and (if not sensitive due to
> uncovered
> > vulnerabilities) to this mailing list for review.
> >    f. With maintainers support, get the fuzzers merged to GRUB mainline.
> > 3. Open a new project request in the oss-fuzz repo following their
> > documentation:
> >      a.
> https://github.com/google/oss-fuzz/blob/master/docs/getting-started/accepting_new_projects.md
> >      b.
> https://google.github.io/oss-fuzz/getting-started/new-project-guide/
> > 4. If the project approves I’d be willing to serve as the maintainer of
> the
> > fuzzing and oss-fuzz components to ensure build failures are corrected
> and
> > newly identified issues are worked and triaged.
> > 5. Over time we can work to improve code coverage via the fuzzers.
> >
> >
> > Pros:
> > 1. Increase the code robustness
> > 2. Quickly find robustness issues caused by future changes
> > Cons:
> > 1. Requires up front development to get going- I’m happy to do as much
> of this
> > as I can but it will require support from the busy project maintainers
> for
> > reviews and such
> > 2. Requires staying on top of new fuzz failures prior to the oss-fuzz
> > disclosure deadline (I’m happy to support this as much as I can) - ref
> >
> https://google.github.io/oss-fuzz/getting-started/bug-disclosure-guidelines/
> >
> > Please let me know your thoughts.
>
> I think this is good idea!
>
> May I ask you to work with Daniel Axtens, Lidong and Nils on this?
> They were or are looking at the GRUB fuzzing. So, it would be good
> join the forces. I think it would be nice to setup a call when all
> of you are OK to work on the project...
>
> Daniel
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to