-
Notifications
You must be signed in to change notification settings - Fork 96
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[core] Add a fuzzing regression test github action
While fuzzing subzero core before the nanopb 0.4.5 upgrade, the fuzzer found a bunch of inputs which triggered UBSAN. This PR creates a regression test that runs the fuzzer with these inputs and verifies that none of them fail now that we're on nanopb 0.4.5. If more bad inputs are discovered later, they can be added to this directory after the corresponding bugs are fixed.
- Loading branch information
Showing
48 changed files
with
76 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# Subzero regression test for bugs discovered with fuzz testing | ||
name: "Fuzzing Regression Test" | ||
|
||
on: | ||
push: | ||
branches: [master] | ||
pull_request: | ||
# The branches below must be a subset of the branches above | ||
branches: [master] | ||
schedule: | ||
# Daily at 1am | ||
- cron: '0 1 * * *' | ||
|
||
jobs: | ||
fuzzing-regression-test: | ||
name: "Fuzzing Regression Test" | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash -euxo pipefail {0} | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: [3.9] | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v2 | ||
with: | ||
# We must fetch at least the immediate parents so that if this is | ||
# a pull request then we can checkout the head. | ||
fetch-depth: 2 | ||
submodules: 'recursive' | ||
|
||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Display Python version | ||
run: | | ||
python -c "import sys; print(sys.version)" | ||
- name: Install dependencies | ||
run: scripts/ubuntu_install_protobuf.sh | ||
|
||
- name: Setup Clang | ||
uses: egor-tensin/[email protected] | ||
with: | ||
version: latest | ||
platform: x64 | ||
|
||
# Build CORE with ASAN, UBSAN, and libfuzzer | ||
- name: Build Subzero Core (ASAN+UBSAN+FUZZER) | ||
run: | | ||
export CC=`which clang` | ||
export CXX=`which clang++` | ||
scripts/build_core.sh -DENABLE_ASAN=ON -DENABLE_UBSAN=ON -DENABLE_FUZZER=ON | ||
- name: Run Subzero CORE Fuzzing regression test | ||
run: | | ||
cd ${{ github.workspace }} | ||
./core/build/subzero_fuzzer-testnet ./core/fuzzing_regression_test_inputs/* |
Binary file added
BIN
+1016 Bytes
core/fuzzing_regression_test_inputs/crash-017668d340dca49646f38fab6c044145fbfadb76
Binary file not shown.
Binary file added
BIN
+1.3 KB
core/fuzzing_regression_test_inputs/crash-08f92ec5bf812250fc3f533d0f69918e9f13f820
Binary file not shown.
Binary file added
BIN
+1.47 KB
core/fuzzing_regression_test_inputs/crash-13867163120e98a47e0e247edd07f867d55abe38
Binary file not shown.
Binary file added
BIN
+1.99 KB
core/fuzzing_regression_test_inputs/crash-1bfa164d8d04850a52e0acb7facc10b8f5cfb4b5
Binary file not shown.
Binary file added
BIN
+1.14 KB
core/fuzzing_regression_test_inputs/crash-1caf32874745cfe5bbce3ff1499db34eb1bcc6ec
Binary file not shown.
Binary file added
BIN
+1.27 KB
core/fuzzing_regression_test_inputs/crash-1ccc4558eda4ba1022397a61236e301b15757547
Binary file not shown.
Binary file added
BIN
+2.43 KB
core/fuzzing_regression_test_inputs/crash-2d641bcd37c6d29b1b0a13603bcb9355ab5f7742
Binary file not shown.
Binary file added
BIN
+2.47 KB
core/fuzzing_regression_test_inputs/crash-2def0edfeb988896dc9c7a969d1f78dbd8f66998
Binary file not shown.
Binary file added
BIN
+1.64 KB
core/fuzzing_regression_test_inputs/crash-315927daa6fad0e5cc07f5deeedd4274c1b6288c
Binary file not shown.
Binary file added
BIN
+941 Bytes
core/fuzzing_regression_test_inputs/crash-451a07b380bb11fffb55ae4ffad72a8a9bdc2d20
Binary file not shown.
Binary file added
BIN
+1017 Bytes
core/fuzzing_regression_test_inputs/crash-476425a21e3537371d1200a1202ea800e3739add
Binary file not shown.
Binary file added
BIN
+2.18 KB
core/fuzzing_regression_test_inputs/crash-5093b9f3f9eba9e7d0d7261d7d9b04430a327792
Binary file not shown.
Binary file added
BIN
+1.53 KB
core/fuzzing_regression_test_inputs/crash-5b642ee7e0b9f1f6d84766e65717be70f608180d
Binary file not shown.
Binary file added
BIN
+1.62 KB
core/fuzzing_regression_test_inputs/crash-63251317a6c140596c9026785e41725b13163ff5
Binary file not shown.
Binary file added
BIN
+2.34 KB
core/fuzzing_regression_test_inputs/crash-6344dd5636105442075d75a46a6c9e2501d8ae4c
Binary file not shown.
Binary file added
BIN
+2.39 KB
core/fuzzing_regression_test_inputs/crash-635889600dcadc85e70953704e03b20f930f6e18
Binary file not shown.
Binary file added
BIN
+1.87 KB
core/fuzzing_regression_test_inputs/crash-643593c89d213c582477dd96daf01fd20b4faf60
Binary file not shown.
Binary file added
BIN
+1016 Bytes
core/fuzzing_regression_test_inputs/crash-72b04bac83f2518b1b15d7e6ce00719574e82a04
Binary file not shown.
Binary file added
BIN
+1.41 KB
core/fuzzing_regression_test_inputs/crash-74dd2608b2d8854ea96942e4d6a9624834f6b813
Binary file not shown.
Binary file added
BIN
+1.53 KB
core/fuzzing_regression_test_inputs/crash-7865a70ff16b258308949d37f949d4d3cf5b8694
Binary file not shown.
Binary file added
BIN
+1.53 KB
core/fuzzing_regression_test_inputs/crash-7c912ffb7d3931f5165a9a9c77fac3995e44d5ba
Binary file not shown.
Binary file added
BIN
+2.16 KB
core/fuzzing_regression_test_inputs/crash-7d67936f131012fcb4845114353499127c5efc2d
Binary file not shown.
Binary file added
BIN
+1016 Bytes
core/fuzzing_regression_test_inputs/crash-7f22ecc189ea927e3f11a67c1d64fcfff68079de
Binary file not shown.
Binary file added
BIN
+1.24 KB
core/fuzzing_regression_test_inputs/crash-83de044ea300ac11bb5361f6eabd3d10c0e9a7df
Binary file not shown.
Binary file added
BIN
+1.69 KB
core/fuzzing_regression_test_inputs/crash-85c3a18d3ca2cda4b6fc153ef94a18278f054f3c
Binary file not shown.
Binary file added
BIN
+1.62 KB
core/fuzzing_regression_test_inputs/crash-8acc38049b9fc1ae1ae7ce0a3f0e1a076887504d
Binary file not shown.
Binary file added
BIN
+1 KB
core/fuzzing_regression_test_inputs/crash-8b3e29b8d8e6b4e1fd03476c408b7e66af465110
Binary file not shown.
Binary file added
BIN
+2.25 KB
core/fuzzing_regression_test_inputs/crash-9b2d90d98b94e9156b1fdeff39a1e8039c8a8e72
Binary file not shown.
Binary file added
BIN
+1.27 KB
core/fuzzing_regression_test_inputs/crash-9e5902752b9e190423af110562e1d799ea112d13
Binary file not shown.
Binary file added
BIN
+1.82 KB
core/fuzzing_regression_test_inputs/crash-9fe1c308f2501ee74bd793b65035d4c41981c5cd
Binary file not shown.
Binary file added
BIN
+1.86 KB
core/fuzzing_regression_test_inputs/crash-a0d643d69831dc4b077802c51d079a670dbb3d40
Binary file not shown.
Binary file added
BIN
+1.99 KB
core/fuzzing_regression_test_inputs/crash-a379759baf5112c5088e77951c9c618f25ac6496
Binary file not shown.
Binary file added
BIN
+2.07 KB
core/fuzzing_regression_test_inputs/crash-a495c061d6cd3edc3a2ecc8e27d5aae14218336a
Binary file not shown.
Binary file added
BIN
+1.42 KB
core/fuzzing_regression_test_inputs/crash-a95b62f0bc37aaa08f6ce1e167fa8a1c26d197ad
Binary file not shown.
Binary file added
BIN
+1.83 KB
core/fuzzing_regression_test_inputs/crash-ab592d79afc51e6b07dc5f2b2283c3587f71f751
Binary file not shown.
Binary file added
BIN
+1 KB
core/fuzzing_regression_test_inputs/crash-ac7bf95056220d97b86b47e08ee57d7b62f2b8fc
Binary file not shown.
Binary file added
BIN
+1.05 KB
core/fuzzing_regression_test_inputs/crash-b381202896eebd5ce7a042c2ef70437f385f7b2a
Binary file not shown.
Binary file added
BIN
+2.41 KB
core/fuzzing_regression_test_inputs/crash-bcf5f6bcd90ccaad1be1eafdff02a400d61242ec
Binary file not shown.
Binary file added
BIN
+1021 Bytes
core/fuzzing_regression_test_inputs/crash-bd7b9999a8d5d5e0b73217c1c50ea562d207795e
Binary file not shown.
Binary file added
BIN
+1.82 KB
core/fuzzing_regression_test_inputs/crash-ca5869cb326ff9e322b681db7e6f94e40f19f774
Binary file not shown.
Binary file added
BIN
+2.22 KB
core/fuzzing_regression_test_inputs/crash-cacd1bbfee92968cd6fd403d9dfb661ec905e4ea
Binary file not shown.
Binary file added
BIN
+1.89 KB
core/fuzzing_regression_test_inputs/crash-cb1c7f2ccf6c900fae48cf459da23883b9c16640
Binary file not shown.
Binary file added
BIN
+1.63 KB
core/fuzzing_regression_test_inputs/crash-cb766d4c4ab96a44b3776ce387fe6803b51e3219
Binary file not shown.
Binary file added
BIN
+1017 Bytes
core/fuzzing_regression_test_inputs/crash-e1eb8467092db73dab9e3831199e9042e226a9f9
Binary file not shown.
Binary file added
BIN
+965 Bytes
core/fuzzing_regression_test_inputs/crash-e27c15beadf300a4d3d1f1f67017daa2204eef5b
Binary file not shown.
Binary file added
BIN
+2.06 KB
core/fuzzing_regression_test_inputs/crash-edab19be1ae55a7b7a6aa1ec293e1c678436fabe
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters