fuzzing
JQF
Our great sponsors
fuzzing | JQF | |
---|---|---|
11 | 3 | |
3,342 | 629 | |
1.6% | - | |
2.2 | 6.3 | |
3 months ago | 7 months ago | |
C++ | Java | |
Apache License 2.0 | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fuzzing
- Structure-Aware Fuzzing with Libfuzzer
- GitHub - google/fuzzing: Tutorials, examples, discussions, research proposals, and other resources related to fuzzing
-
ok so i am kinda new to fuzzin/security research and ive just done this
so I just wanted to start to fuzz a little bit and I used libfuzzer for that. and as you can tell in this tutorial https://github.com/google/fuzzing/blob/master/tutorial/libFuzzerTutorial.md it tells you that if you leave it running like that you will get a bounty. and so I did exactly this, I followed the exact instructions listed there(I fuzzed this woff thing they mentioned) and my fuzzer said "SUMMARY: AddressSanitizer: heap-buffer-overflow" can I report that? or is this woff thing just for testing?
- I found a bug in Intel Skylake processors
- SiliFuzz: Fuzzing CPUs by proxy
- SiliFuzz: Fuzzing CPUs by Proxy [pdf]
- SiliFuzz - a work-in-progress system that finds CPU defects by fuzzing software proxies, like CPU simulators or disassemblers, and then executing the accumulated test inputs on actual CPUs on a large scale.
-
An implementation of CBOR in C
For a project like this, fuzz testing is also crucial. The issue pointed out by gremolata would have been trivial to find with fuzzing.
-
Address Sanitizer for MSVC Now Generally Available | C++ Team Blog
Another is testing: Many C++ projects use sanitizers regularly together with fuzzing, https://github.com/google/fuzzing/blob/master/docs/why-fuzz.md, https://github.com/google/fuzzing/blob/master/docs/intro-to-fuzzing.md#sanitizers
-
Jazzer brings modern fuzz testing to the JVM
Maybe a bit biased opinion here, but you could start with this blog post, and see whether you go more into C/C++ fuzzing or web fuzzing from there:
https://blog.code-intelligence.com/the-magic-behind-feedback...
https://github.com/google/fuzzing
JQF
-
CS 6120: Advanced Compilers: The Self-Guided Online Course
We are working on projects related with cybersecurity and compilers. A reference we look at is [1] and [2]. I think we can publish the results in the coming months.
[1] https://github.com/rohanpadhye/jqf/wiki/Fuzzing-a-Compiler
[2] https://news.ycombinator.com/item?id=36373410
-
GitHub Copilot for JetBrains and Neovim
QuickcCheck-type tools (generators for tests that know about the edge cases of a domain - e. g. for the domain of numbers considering things like 0, the infinities, various almost-and-just-over powers of two, NaN and mantissas for floats, etc.):
* QuickCheck: https://hackage.haskell.org/package/QuickCheck
* Hypothesis: https://hypothesis.readthedocs.io/en/latest/
* JUnit QuickCheck: https://github.com/pholser/junit-quickcheck
Fuzz testing tools (tools which mutate the inputs to a program in order to find interesting / failing states in that program). Generally paired with code coverage:
* American Fuzzy Lop (AFL): https://github.com/google/AFL
* JQF: https://github.com/rohanpadhye/JQF
Mutation / Fault based test tools (review your existing unit coverage and try to introduce changes to your _production_ code that none of your tests catch)
* PITest: https://pitest.org/
-
Jazzer brings modern fuzz testing to the JVM
If you are interested in fuzzing your Java code, you should also have a look at the JQF project which directly integrates with junit tests: https://github.com/rohanpadhye/JQF
What are some alternatives?
CMake - Mirror of CMake upstream repository
jqwik - Property-Based Testing on the JUnit Platform
sandsifter - The x86 processor fuzzer
junit-quickcheck - Property-based testing, JUnit-style
meson - The Meson Build System
fast-check - Property based testing framework for JavaScript (like QuickCheck) written in TypeScript
javan-warty-pig - AFL-like fuzzer for the Java Virtual Machine
copilot-docs - Documentation for GitHub Copilot
cmake-init - The missing CMake project initializer
fuzzcheck-rs - Modular, structure-aware, and feedback-driven fuzzing engine for Rust functions
cbor - An implementation of CBOR in C
copilot.vim - Neovim plugin for GitHub Copilot