Cppcheck
American Fuzzy Lop
Our great sponsors
Cppcheck | American Fuzzy Lop | |
---|---|---|
11 | 21 | |
5,448 | 2,903 | |
- | - | |
9.9 | 0.0 | |
2 days ago | almost 3 years ago | |
C++ | C | |
GNU General Public License v3.0 only | Apache License 2.0 |
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.
Cppcheck
-
Configuring Cppcheck, Cpplint, and JSON Lint
I dedicated Sunday morning to going over the documentation of the linters we use in the project. The goal was to understand all options and use them in the best way for our project. Seeing their manuals side by side was nice because even very similar things are solved differently. Cppcheck is the most configurable and best documented; JSON Lint lies at the other end.
- Cppcheck/Releasenotes.txt
-
Enforcing Memory Safety?
Using infer, someone else exploited null-dereference checks to introduce simple affine types in C++. Cppcheck also checks for null-dereferences. Unfortunately, that approach means that borrow-counting references have a larger sizeof than non-borrow counting references, so optimizing the count away potentially changes the semantics of a program which introduces a whole new way of writing subtly wrong code.
-
Check out my tasks.json for C++ of VScode
Also check out (cppcheck)[https://github.com/danmar/cppcheck] if you want more static analysis
-
What are the must-have tools for any C++ developer?
My browser refuses to open that link. This is better: https://github.com/danmar/cppcheck
-
Awesome Penetration Testing
cppcheck - Extensible C/C++ static analyzer focused on finding bugs.
-
C/C++ pre-commit hooks for static analyzers and linters
and five C/C++ static code analyzers: * clang-tidy * oclint * cppcheck * cpplint (recently added!) * include-what-you-use (recently added!)
-
Caught signal 11 (SIGSEGV) and signal 6 (SIGABRT)
Start by feeding your codebase to a static analysis tool like cppcheck, to rule out obvious bound-checking mistakes in it.
- How to detect stack corruption in embedded c??
-
Why static analysis on C projects is not widespread already?
Cppcheck is free. I've previously used it with a C++ project.
American Fuzzy Lop
-
Prefer table driven tests (2019)
There's some efforts to guide test generation for property based testing to make the instruction pointer explore as large a space as possible.
This effort is more mature in the fuzzing community. See eg American Fuzzy Lop https://github.com/google/AFL
-
C++ Faker library
What you're describing, just generating random input to test a program, is sometimes called "blind fuzzing" but the state-of-the-art is far beyond that. Maybe try reading through the documentation of e.g. https://github.com/google/AFL to see what a fuzzer does and why just producing random input isn't even scratching the surface.
-
Hyperpom: An Apple Silicon Fuzzer for 64-bit ARM Binaries
for general riscv I used to use this https://github.com/google/AFL I dont know if it supports x64 tho.
-
How to fuzz java code with jazzar?
Ex ( AFL, WinAFL, HonggFuzz, LibFuzzer, Jazzer )
-
One year ago I wrote a buddy memory allocator - project update
I wrote this little fuzz test target in order to fuzz it with afl (under ASan and UBSan):
-
Beariish/little: A small, easily embedded language implemented in a single .c file
afl, which is trivial to apply to this program:
-
TCL like interpreter suitable for embedded use
I made my own version of a TCL interpreter (well, a very TCL like langauge) derived from "picol" available at https://github.com/howerj/pickle. There are many different re-implementations and derivatives of this interpreter but they all seem very "crashy", this one has been significantly hardened by using a fuzzer on it which ran for months called American Fuzzy Lop https://lcamtuf.coredump.cx/afl/ . It is also more suitable for embedded use whilst still not having arbitrary restrictions like many other implementations.
-
What's in your tool belt?
On Linux afl is a very powerful bug-finding tool, and it's a great companion when doing code review. Composes well with ASan and UBSan.
- Afl - American fuzzy lop - a security-oriented fuzzer
-
Difficulty of CSCA48 compared to other first year cs/math courses
b-, https://lcamtuf.coredump.cx/afl/
What are some alternatives?
cpplint - Static code checker for C++
boofuzz - A fork and successor of the Sulley Fuzzing Framework
gcc-poison - gcc-poison
honggfuzz - Security oriented software fuzzer. Supports evolutionary, feedback-driven fuzzing based on code coverage (SW and HW based)
stb - stb single-file public domain libraries for C/C++
PHP CPP - Library to build PHP extensions with C++
cmake-lint - Fork of https://github.com/richq/cmake-lint to continue maintenance
HTTP Parser - http request/response parser for c
c-smart-pointers - Smart pointers for the (GNU) C programming language
ZXing - ZXing ("Zebra Crossing") barcode scanning library for Java, Android
AFLplusplus - The fuzzer afl++ is afl with community patches, qemu 5.1 upgrade, collision-free coverage, enhanced laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, and a lot more!