Skip to content

Try to automate the process of reproducing a syzkaller.appspot.com bug by providing the 'Config' hash and the 'Syz repro' hash.

License

Notifications You must be signed in to change notification settings

fuzzybritches0/syzrep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 

Repository files navigation

############ SETUP ############

$ sudo apt update

$ sudo apt install  build-essential git cscope libncurses-dev libssl-dev \
	bison flex git-email wget libelf-dev bc rsync kmod cpio pkgconf \
	devscripts dwarves vim codespell gdb golang qemu-system-x86 \
	colorized-logs qemu-utils debos

We need to start at the root of our home directory:

$ cd ~

$ git clone https://github.com/fuzzybritches0/syzrep.git

$ cd syzrep

Place the file bin/syzrep in the way of your $PATH:

Example:
$ cp bin/syzrep ${HOME}/bin

$ mkdir bugs

###############################

############ USAGE ############

$ mkdir ./bugs/TITLE_OF_SYZKALLER_BUG

$ cd ./bugs/TITLE-OF-SYZKALLER_BUG

# next we create a template file
$ syzrep crc

change created file syzrep.rc accordingly:

File: syzrep.rc:
###############################
01 # Title of syzkaller bug
02 # https://syzkaller.appspot.com/bug?id=
03 # Reported-by: syzbot+xxxxxxxxxxxxxxxxxxxx@syzkaller.appspotmail.com
04
05 KCONFIG_HASH=""
06 REPRODUCER_HASH=""
07
08 HOST_PORT_SSH=10022
09
10 # FILTER SETTINGS
11 PATTERNS_START_REPORT=("BUG" "KASAN" "UBSAN" "WARNING" "cut here")
12 PATTERNS_OMIT_LINE=("Creating new" "filter on device" "entered blocking state" \
13	"entered forwarding state" "link becomes ready")
###############################

For the two values in line 5 and 6, you can find the hashes in the 'Crashes'
roster in the columns labelled 'Config' and 'Syz repro'.

They look like this when you copy the link address by right-clicking:
https://syzkaller.appspot.com/text?tag=KernelConfig&x=yyyyyyyyyyyyyyyy
https://syzkaller.appspot.com/text?tag=ReproSyz&x=xxxxxxxxxxxxxx

So, all you have to do is fill out those two hashes, line 1, 2 and 3, also.

Finally run:

$ syzrep all

If you want to use gdb:

$ syzrep deb

Open another terminal:

$ syzrep gdb

The reproducer will start automatically and the state of the machine is saved
before the reproducer starts. If you want to repeat from the start do:

$ syzrep qem l

To find more help just type:

$ syzrep

###############################

About

Try to automate the process of reproducing a syzkaller.appspot.com bug by providing the 'Config' hash and the 'Syz repro' hash.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages