Skip to content

Commit bc03823

Browse files
author
MarcoFalke
committed
Merge bitcoin/bitcoin#23482: doc: Add a brief overview of fuzzing/Bitcoin Core fuzzing
6cac99a Add a brief overview of fuzzing/Bitcoin Core fuzzing (Alex Groce) Pull request description: - Google's repo - Our report - John's advice on fuzz-friendly development ACKs for top commit: MarcoFalke: ACK 6cac99a shaavan: ACK 6cac99a Tree-SHA512: 45d1f2f49d068ddd40c3e60cb4a3ede079276e0e09328eec04e391637e9225e195dd7ee1573aa962a2cae93a7e432f9e1d5d0b97660b879ab37ce453cc43c275
2 parents d217ee2 + 6cac99a commit bc03823

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

doc/fuzzing.md

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ $ FUZZ=process_message src/test/fuzz/fuzz
1919
There is also a runner script to execute all fuzz targets. Refer to
2020
`./test/fuzz/test_runner.py --help` for more details.
2121

22+
## Overview of Bitcoin Core fuzzing
23+
24+
[Google](https://github.com/google/fuzzing/) has a good overview of fuzzing in general, with contributions from key architects of some of the most-used fuzzers. [This paper](https://agroce.github.io/bitcoin_report.pdf) includes an external overview of the status of Bitcoin Core fuzzing, as of summer 2021. [John Regehr](https://blog.regehr.org/archives/1687) provides good advice on writing code that assists fuzzers in finding bugs, which is useful for developers to keep in mind.
25+
2226
## Fuzzing harnesses and output
2327

2428
[`process_message`](https://github.com/bitcoin/bitcoin/blob/master/src/test/fuzz/process_message.cpp) is a fuzzing harness for the [`ProcessMessage(...)` function (`net_processing`)](https://github.com/bitcoin/bitcoin/blob/master/src/net_processing.cpp). The available fuzzing harnesses are found in [`src/test/fuzz/`](https://github.com/bitcoin/bitcoin/tree/master/src/test/fuzz).

0 commit comments

Comments
 (0)