Artifact of Fuzzing Machine Learning Paper
README This directory contains files related to fuzzing, coverage analysis, and setup, organized into two sections: Code/Tools/Environment and Results. Code, Tools, and Environment 1. fuzzingML-main.zip - Contains the source code for the tool, a fuzzer based on machine learning techniques. 2. afl_scriptsNseeds4CrashBaseTest.tar.gz - Includes scripts and seed files required to start the fuzzing process. 3. m510_setup.tar.gz - The complete fuzzing environment as it was tarred from the `m510` machine. - Setup all in /opt/ and run AFL++ in hot-storage for `m510` machine. user@node:/dev/shm$ dd if=/dev/zero of=testfile bs=1G count=1 oflag=dsync 1+0 records in 1+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.866424 s, 1.2 GB/s 4. Build_cov_env_cpython_scripts.tat.gz - Scripts to build on your own machine 5-6 parts for coverage.5. cpython-wth-mlighter.tar.gz - Instrumented version of CPython with `gcov` for coverage analysis, along with installed `sklearn` version 1.6.0. Seed test_916698062 was tested with `sklearn` version 1.5.2 due to a change of function interface. - To restore the installation of Mlighter util, you will need to run: cd /users/user42/cpython/install/usr/local/bin ./../lib/mlighter/mlighter/utils/install.sh 6. coverage_env_wt_gfauto.tar.gz - The coverage environment prepared and tarred, containing the instrumented CPython setup. - Packages installed for Coverage machine: gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 and in general on the machine: Package Version ---------------------- ------------- blinker 1.4 build 1.2.2.post1 certifi 2020.6.20 command-not-found 0.3 coverage 7.6.9 cryptography 3.4.8 dbus-python 1.2.18 distlib 0.3.9 distro 1.7.0 distro-info 1.1build1 filelock 3.16.1 httplib2 0.20.2 importlib-metadata 4.6.4 jeepney 0.7.1 joblib 1.4.2 keyring 23.5.0 launchpadlib 1.10.16 lazr.restfulclient 0.14.4 lazr.uri 1.0.6 mlighter-utils 1.1.1 more-itertools 8.10.0 netifaces 0.11.0 numpy 2.2.0 oauthlib 3.2.0 packaging 24.1 pandas 2.2.3 pip 24.3.1 pipenv 2024.4.0 platformdirs 4.3.6 Pygments 2.11.2 PyGObject 3.42.1 PyJWT 2.3.0 pyparsing 2.4.7 pyproject_hooks 1.2.0 python-apt 2.4.0+ubuntu1 python-dateutil 2.9.0.post0 pytz 2024.2 PyYAML 5.4.1 scikit-learn 1.6.0 scipy 1.14.1 SecretStorage 3.3.1 setuptools 75.6.0 six 1.17.0 ssh-import-id 5.11 threadpoolctl 3.5.0 tomli 2.0.2 tzdata 2024.2 ubuntu-advantage-tools 8001 ufw 0.36.1 virtualenv 20.28.0 virtualenv-clone 0.3.0 wadllib 1.3.6 wheel 0.37.1 zipp 1.0.0 and in the instrumented Cpython version: Package Version --------------- ----------- build 1.2.2.post1 distlib 0.3.9 filelock 3.16.1 joblib 1.4.2 mlighter-utils 1.1.1 numpy 2.2.0 packaging 24.2 pandas 2.2.3 pip 24.3.1 pipenv 2024.4.0 platformdirs 4.3.6 pyproject_hooks 1.2.0 python-dateutil 2.9.0.post0 pytz 2024.2 scikit-learn 1.6.0 scipy 1.14.1 setuptools 75.6.0 six 1.17.0 threadpoolctl 3.5.0 tomli 2.2.1 tzdata 2024.2virtualenv 20.28.0xgboost 2.1.3 Except for seed 902236794 where we used numpy 2.2.1scikit-learn 1.5.2due to compatbility issues. Results 1. Results_AFL_crashTesting_24h_31sets_N_12days_1set.tar.gz - Results from the fuzzing process, covering 24-hour runs with 31 sets across 12 days. 2. Results of Coverage: - Coverage of the C/C++ part of the Cpython compiler: - Part 1: coverage_c_part_1.tar.gz (9 out of the 11 seeds) - Part 2: coverage_c_part_2.tar.gz (1 out of 11 seeds - repeat) - Part 3: coverage_c_part_3.tar.gz (2 out of 11 seeds) Usage Overview - Fuzzing Setup: - Use `fuzzingML-main.zip` for the fuzzer implementation. - Extract `afl_scriptsNseeds4CrashBaseTest.tar.gz` to get the necessary scripts and seed files for fuzzing. - Environment: - The fuzzing environment is packaged in `m510_setup.tar.gz`. Extract this to replicate the setup on the `m510` machine. - Coverage Analysis: - Use `cpython-wth-mlighter.tar.gz` for the CPython setup instrumented with `gcov`. - The coverage environment is stored in `coverage_env_wt_gfauto.tar.gz`.
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2024-12-30
- DOI
- https://doi.org/10.5281/zenodo.14577354
- Primary Topic
- Machine Learning and Data Classification
- Type
- article
- Field-Weighted Citation Impact
- 0.00