Fetching the latest programs, projects, and workspace data.

State of the art fuzzing for better security
Showing 5 of 7 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Marcondiro
This proposal addresses the project Adapt kAFL / Nyx to LibAFL QEMU presented in the project list. The project's goal is to integrate hypervisor-based fuzzing into `LibAFL QEMU` leveraging Intel lab's kAFL project and Nyx, which is the backend that kAFL uses. At the moment `LibAFL QEMU` runs QEMU with the TCG accelerator which, in a nutshell, performs emulation. The usage of the hypervisor KVM as the accelerator for QEMU can bring a remarkable performance improvement.
Mentors: Student: aarnav
LibAFL is a framework which pioneered the concept of modular fuzzers, where different parts of the fuzzer, such as the instrumentation, mutators, corpus and objectives can be swapped and configured to fuzz applications and platforms with diverse constraints. LibAFL re-uses and re-implements several parts of AFL++, it’s sister project, which is a fork of AFL and it’s community acclaimed successor. With LibAFL’s feature parity with AFL++ and it’s potential to succeed the project, this project aims to re-implement afl-fuzz, AFL++'s fuzzer implementation, in Rust, to become a front-end for LibAFL. Additionally, this initiative will attempt to implement missing features required by afl-fuzz to close the feature-gap between AFL++ and LibAFL.
Mentors: Student: Matheus Baptistella
Libafl is a library written in Rust that provides components to build fuzzers. A newcomer might feel confused when creating a fuzzer because that requires some knowledge of what each component does and how they can be used together. Without prior experience, going through the repository and trying to understand these features on your own is not a trivial task. To make Libafl more beginner-friendly, as well as didactic, this project proposes the implementation of a Fuzzer Template Generator. The generator will guide the user through the components, explain their functionalities and utilization, and output snippets of that component's Rust code, so the user may apply it to their fuzzer implementation. Therefore, this project aims to: 1. Implement a wizard, to show options and take the user's decisions, 2. Add a progressive flow chart generation, to help keep visual track, 3. Output Rust code for each component selected.
Mentors: Student: hengzh
LibAFL, a library written by Rust, helps people develop a fuzzer tailored to specific needs, but due to the lack of the running status information of LibAFL, we are difficult to grasp some key metrics in a fuzzing campaign. so I propose adding AFL-style UI to the TUI monitor. LibAFL will have an AFL-style UI encompassing some key status metrics such as the status bar, process timing, and so on.
Mentors: Student: syheliel
Nyx is a full system emulation fuzzing mode that supports snapshots. Users can apply it to both source-code-based instrumentation and binary-only targets. Our task is to integrate Nyx into LibAFL. The proposal mainly contains three parts: 1. automate the environment setup of Nyx, which includes KVM-PT, QEMU-PT, and glue tools for them 2. provide an easy-to-use LibAFL interface 3. build an example fuzzer using Nyx in LibAFL