Skip to content

Conversation

practicalswift
Copy link
Contributor

Add fuzzing harness for CNode.

See doc/fuzzing.md for information on how to fuzz Bitcoin Core. Don't forget to contribute any coverage increasing inputs you find to the Bitcoin Core fuzzing corpus repo.

Happy fuzzing :)

@jb55
Copy link
Contributor

jb55 commented May 25, 2020

Concept ACK

@practicalswift
Copy link
Contributor Author

Anything left to do here? :) The changes are limited to src/test/fuzz/ and should hopefully be trivial to review.

@Crypt-iQ
Copy link
Contributor

Fails to build with the same error as #19065 , rebasing it onto master reveals that PushBlockHash & PushInventory no longer exist since 344e831.

@practicalswift
Copy link
Contributor Author

@Crypt-iQ Thanks for reporting. Should be fixed now. Would you mind retrying? :)

@Crypt-iQ
Copy link
Contributor

@practicalswift Fuzzing with clang-10 libfuzzer. afl-gcc/g++ can also build on a22b42e.

Copy link
Contributor

@Crypt-iQ Crypt-iQ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

30 hour fuzzing coverage for this harness (libfuzzer --with-sanitizers=address,fuzzer,undefined): https://crypt-iq.github.io/cnode_cov/src/index.html

Just minor comments from me. Two more functions could be fuzzed:

  • bool IsPeerAddrLocalGood(CNode *pnode)
  • void AdvertiseLocal(CNode *pnode)

@Crypt-iQ
Copy link
Contributor

Tested ACK a22b42e

@practicalswift
Copy link
Contributor Author

Ready for merge?

@maflcko
Copy link
Member

maflcko commented Aug 27, 2020

needs rebase

@practicalswift
Copy link
Contributor Author

@jb55 @Crypt-iQ @MarcoFalke Thanks a lot for reviewing. Now rebased. Please re-review :)

@maflcko maflcko merged commit 862fde8 into bitcoin:master Aug 28, 2020
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Aug 28, 2020
cc26fab tests: Add fuzzing harness for CNode (practicalswift)

Pull request description:

  Add fuzzing harness for `CNode`.

  See [`doc/fuzzing.md`](https://github.com/bitcoin/bitcoin/blob/master/doc/fuzzing.md) for information on how to fuzz Bitcoin Core. Don't forget to contribute any coverage increasing inputs you find to the [Bitcoin Core fuzzing corpus repo](https://github.com/bitcoin-core/qa-assets).

  Happy fuzzing :)

Top commit has no ACKs.

Tree-SHA512: e6330e5de5b2eb44d3bd91a885e69ebb625bfd1cb2499338aeb3997ff0268848434e651126fe68a8cadd7235c391e61a40d6408ee26e457faf73572e0c375f6b
deadalnix pushed a commit to Bitcoin-ABC/bitcoin-abc that referenced this pull request Feb 9, 2021
Summary:
Backport of core [[bitcoin/bitcoin#19067 | PR19067]].

Depends on D9192.

Test Plan:
  ninja bitcoin-fuzzers
  ./src/test/fuzz/net <path_to_corpus>

Reviewers: #bitcoin_abc, majcosta

Reviewed By: #bitcoin_abc, majcosta

Differential Revision: https://reviews.bitcoinabc.org/D9193
@practicalswift practicalswift deleted the fuzzers-2020-05-25 branch April 10, 2021 19:42
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jul 17, 2022
cc26fab tests: Add fuzzing harness for CNode (practicalswift)

Pull request description:

  Add fuzzing harness for `CNode`.

  See [`doc/fuzzing.md`](https://github.com/bitcoin/bitcoin/blob/master/doc/fuzzing.md) for information on how to fuzz Bitcoin Core. Don't forget to contribute any coverage increasing inputs you find to the [Bitcoin Core fuzzing corpus repo](https://github.com/bitcoin-core/qa-assets).

  Happy fuzzing :)

Top commit has no ACKs.

Tree-SHA512: e6330e5de5b2eb44d3bd91a885e69ebb625bfd1cb2499338aeb3997ff0268848434e651126fe68a8cadd7235c391e61a40d6408ee26e457faf73572e0c375f6b
kwvg added a commit to kwvg/dash that referenced this pull request Aug 11, 2022
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Aug 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants