google / oss-fuzz

OSS-Fuzz - continuous fuzzing for open source software.
https://google.github.io/oss-fuzz
Apache License 2.0
10.39k stars 2.21k forks source link

First crack at oss-fuzz rigging for fontations #12011

Closed rsheeter closed 4 months ago

rsheeter commented 4 months ago

Take a first swing at rigging a https://github.com/googlefonts/fontations fuzzer. Setup based on https://google.github.io/oss-fuzz/getting-started/new-project-guide/rust-lang/. I have never rigged a Rust fuzzer before, advice most appreciated.

To increase our odds try to provide a decent corpus of test fonts.

For context Google Fonts and Chrome are collaborating to migrate some text rendering paths in Chrome to use skrifa instead of FreeType. As with woff2, we view fuzzing prior to shipping as mandatory. EDIT: one more ref, https://chromestatus.com/feature/5717358869217280.

Step toward https://github.com/googlefonts/fontations/issues/420.

The fuzzer is added to fontations in https://github.com/googlefonts/fontations/pull/917. Best not to merge this until that goes in. EDIT: now merged. Minimal function, will extend use cases tested over time.

github-actions[bot] commented 4 months ago

rsheeter is integrating a new project:
- Main repo: https://github.com/googlefonts/fontations
- Criticality score: 0.50767

jonathanmetzman commented 4 months ago

I have never rigged a Rust fuzzer before, advice most appreciated.

It should be similar to writing other fuzzers. Did you want help with something specific?