top | item 12004705

(no title)

frewsxcv | 9 years ago

I haven't, though I've thought about it. Most of the logic behind git2-rs (as far as I know) is written in C. While it's possible to run afl.rs on a Rust project that uses C code behind the scenes, I haven't ever attempted to get AFL instrumentation working on the underlying C code. I don't think it should be that difficult, I just haven't gotten around to it yet.

EDIT: I forgot to mention: It's possible to run AFL on uninstrumented code, it just won't be that smart about finding new code paths.

discuss

order

JoshTriplett|9 years ago

> Most of the logic behind git2-rs (as far as I know) is written in C.

True, but the Rust bindings necessarily contain tons of unsafe FFI code, and those bindings enforces many required safety properties. Even without checking the underlying C code, running AFL to check for any unsafe holes in the bindings would help.

That said, yes, for best results you'd want to check the combination of C and Rust to find new paths and full coverage on both.