Skip to content

Воркшоп по основным принципам фаззинга в Go

Notifications You must be signed in to change notification settings

NGRsoftlab/go_fuzz_workshop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Go Fuzzing Workshop

Подготовка окружения

docker build --tag=gjson_workshop_img .
docker run -it -v "$(pwd)/artifacts:/home/fuzz/artifacts:ro" --name=gjson_fuzz gjson_workshop_img

Запуск фаззинга

cd /go/src/gjson-1.18.0
git apply /home/fuzz/artifacts/gjson.patch
mkdir -p testdata/fuzz/FuzzParseJSON
cp /home/fuzz/artifacts/corpus/* testdata/fuzz/FuzzParseJSON/
go test -fuzz=Fuzz -run=FuzzParseJSON

Сбор покрытия

cp $( go env GOCACHE )/fuzz/$( go list )/FuzzParseJSON/* testdata/fuzz/FuzzParseJSON
go test -coverprofile=coverage.out -run=FuzzParseJSON -v
go tool cover -html=coverage.out -o ./coverage.html

на хосте:

docker cp gjson_fuzz:/go/src/gjson-1.18.0/coverage.html .

About

Воркшоп по основным принципам фаззинга в Go

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dockerfile 100.0%