News

Project 1: Bugfixes and Setup Time Changes

Written on 11.12.25 by Valentin Huber

I was made aware of two distinct bugs with the project setup, and found one cheating avenue, all of which was fixed by a commit that was just pushed to the repositories of all students that have already accepted the project 1 (please run git pull!) — students who have not yet accepted the project will… Read more

I was made aware of two distinct bugs with the project setup, and found one cheating avenue, all of which was fixed by a commit that was just pushed to the repositories of all students that have already accepted the project 1 (please run git pull!) — students who have not yet accepted the project will automatically get the newest version. Here are the changes in detail:

  • Previously, the runtime of any logic run at the top level of fuzzer.py (or any other file imported from there) was not accounted. This means that in principle, students would have been able to use an arbitrary amount of runtime to pre-compute inputs, such that their entire hour of running the target could be spent in the target, even when using a very slow fuzzer. This would obviously be considered cheating. We have changed the behavior as follows: The setup logic is now times. If it takes longer than 5 minutes, any additional time is deducted from your fuzzing budget. Some examples:
    • If your setup logic takes 3 seconds, you will get 60 minutes of fuzzing.
    • If your setup logic takes 4.5 minutes, you will still get 60 minutes of fuzzing.
    • If your setup logic takes 8 (5 + 3 extra) minutes, you will only get 57 (60 - 3) minutes of fuzzing.
  • On Windows systems, git has (as is normal for its operation) converted the line endings of non-binary files to CRLF, instead of the LF used in UNIX, when you cloned the repository. This is done to allow ordinary Windows programs to change the files. The line endings are changed back once the changes are pulled to a UNIX system. However, on a Windows machine, some files (specifically apt-packages.txt and run_and_get_coverage.sh) are simply copied from the Windows host to the Ubuntu Docker image, without the intermediate fixes through git. This lead to failures when trying to build the Docker images on Windows systems, since the extra characters are not legal in those places in Ubuntu. To fix this, the line endings are now manually converted in the Dockerfile.
  • If your fuzzer called some other process that either (a) calls the default system-wide Python interpreter, or (b) is only available as a Python dependency, this would previously fail, because the virtual environment, into which all Python dependencies are installed, was not correctly activated. This should now be fixed.

If you have any questions regarding these changes, please ask them in the forum. I would also like to thank all the students that have reported these bugs and helped me find fixes. Enjoy your fuzzing!

Confusion with the deadline for Assignment 6

Written on 03.12.25 (last change on 05.12.25) by Tural Mammadov

We have just noticed that we made a mistake with the deadline for Assignment 6, specifying December 16th instead of December 9th. To avoid any potential confusion, we will not be changing the deadline for Assignment 6. We will collect your solutions on December 16th. However, we still encourage you to… Read more

We have just noticed that we made a mistake with the deadline for Assignment 6, specifying December 16th instead of December 9th. To avoid any potential confusion, we will not be changing the deadline for Assignment 6. We will collect your solutions on December 16th. However, we still encourage you to complete Assignment 6 this week, as we will release Assignment 7 next week. As usual, you will have 7 days to solve it. So, both solutions for Assignments 6 and 7 will be collected on December 16th. Happy fuzzing!

Project 1 – Scope Adjustment

Written on 19.11.25 (last change on 19.11.25) by Valentin Huber

After some questions and further evaluation by us, we found that project 1 has a shortcut that we deem unfair: If you happened to find a set of very good seed inputs (and there are plenty of those lists out there), you were basically guaranteed to get the maximum grade, even without having to write a… Read more

After some questions and further evaluation by us, we found that project 1 has a shortcut that we deem unfair: If you happened to find a set of very good seed inputs (and there are plenty of those lists out there), you were basically guaranteed to get the maximum grade, even without having to write a fuzzer. We have therefore split the project 1 evaluation into two parts: One with no seeds, and one with a small set of high-quality seeds provided by us. This will provide a more even playing ground for everybody.

For those of you who previously accepted the assignment: I pushed the changes to your repository directly. Please run git pull. For those of you who have not: You will get the updated instructions directly, once you do accept the assignment.

Refer to the README for the updated instructions and rules. Please re-read the entire README, as multiple things have changed. We are sorry about the inconvenience, particularly to students who have already discovered this and put in some work to find good seeds. If you have any questions regarding the new rules, please ask in the forum.

Deadline extension for Assignment 03

Written on 18.11.25 by Alexander Liggesmeyer

We were informed that the deadline for Assignment 03 was shown as 14:00 in the CMS, but the assignment sheet and the announcement in the GitHub classroom stated 12:00. To resolve this inconsistency, we have extended the deadline by one day (19. November at 14:00).

Project 1 Released

Written on 15.11.25 (last change on 18.11.25) by Valentin Huber

All details are available directly in the README of the repository. The deadline is end of the end in CET on 23.12. Find the repository in GitHub classroom.

The preliminary dates for project 2 are: release on 13.01., deadline on 03.03.

Exam dates are specified

Written on 11.11.25 by Tural Mammadov

Dear Students, the exam dates for the "Security Testing" course are now specified:

  • 2026-02-19 Günter Hotz Hörsaal 10:00-12:00 – exam
  • 2026-03-16 Günter Hotz Hörsaal 14:00-16:00 – re-exam

Online notebooks work again

Written on 21.10.25 by Andreas Zeller

Dear all – you can now (again) launch interactive notebooks right out of fuzzingbook.org. Simply select Resources -> Edit as Notebook.

Accessing GitHub Classroom

Written on 21.10.25 by Tural Mammadov

Dear Students,

If you do not find your matriculation number listed on Security Testing GitHub Classroom (for example, you registered later), please reach out to AlexanderTural, or Valentin.

Assignment 00 has been released

Written on 21.10.25 (last change on 21.10.25) by Alexander Liggesmeyer

We’ve just released Assignment 00

You can find it under the Materials section in the CMS:

https://cms.cispa.saarland/fuzzing25/materials/

This initial assignment is meant to get you familiar with the submission process and ensure your setup is ready for the upcoming exercises.

Happy fuzzing!

Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators.