├── .gitignore ├── Dockerfile ├── NotMyUefiFault ├── README.md ├── bin │ └── NotMyUefiFault.efi └── src │ └── NotMyUefiFaultPkg │ ├── NotMyUefiFault.c │ └── NotMyUefiFault.inf ├── README.md ├── bin ├── linux │ └── UEFIExtract ├── mac │ └── UEFIExtract └── windows │ └── UEFIExtract.exe ├── core ├── EmulationManager.py ├── FuzzingManager.py ├── callbacks.py └── fault.py ├── dummy_protocol.py ├── efi_fuzz.py ├── examples ├── nvram │ ├── PlatformInitDxe.efi │ ├── PlatformInitDxe.json │ ├── S3SaveStateDxe.efi │ └── run.sh ├── smm_callout │ ├── PiSaveStateAccess.efi │ ├── SystemSmmAhciAspiLegacyRt.efi │ ├── SystemSmmAhciAspiLegacyRt.json │ ├── SystemSwSmiAllocatorDxe.efi │ ├── SystemSwSmiAllocatorSmm.efi │ └── run.sh └── smram_arbitrary_write │ ├── ItkSmmVars.efi │ ├── ItkSmmVars.json │ └── run.sh ├── guids.csv ├── images └── NotMyUefiFault.png ├── requirements.txt ├── rom ├── __init__.py └── efi_firmware_volume2_protocol.py ├── sanitizers ├── __init__.py ├── base_sanitizer.py ├── memory_sanitizer.py └── smm_callout_sanitizer.py ├── scripts ├── build_rom_db.py ├── depex.py ├── prepare_afl_corpus.py ├── prepare_afl_corpus2.py ├── prepare_nvram.py ├── prepare_nvram2.py └── rom_utils.py ├── smm ├── __init__.py ├── protocols │ ├── __init__.py │ ├── guids.py │ ├── mm_access_protocol.py │ ├── smm_access_protocol.py │ ├── smm_base_protocol.py │ ├── smm_cpu_protocol.py │ ├── smm_sw_dispatch2_protocol.py │ ├── smm_sw_dispatch_protocol.py │ ├── smm_sx_dispatch_protocol.py │ └── smm_variable_protocol.py ├── save_state_area.py ├── smm.ini └── swsmi.py ├── taint ├── __init__.py ├── base_tainter.py ├── smm_memory_tainter.py ├── tracker.py └── uninitialized_memory_tainter.py ├── tests ├── README.md ├── bin │ └── EfiFuzzTests.efi ├── res │ └── $0AGD000.FL1 ├── src │ └── EfiFuzzTestsPkg │ │ ├── EfiFuzzTests.inf │ │ ├── FirmwareVolumeTest.c │ │ ├── Main.c │ │ ├── SmiDispatchingTest.c │ │ ├── SmmSaveStateTest.c │ │ ├── SmmUtils.c │ │ ├── SmmUtils.h │ │ └── UninitializedMemoryTrackerTest.c └── test_efi_fuzz.py └── utils.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/Dockerfile -------------------------------------------------------------------------------- /NotMyUefiFault/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/NotMyUefiFault/README.md -------------------------------------------------------------------------------- /NotMyUefiFault/bin/NotMyUefiFault.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/NotMyUefiFault/bin/NotMyUefiFault.efi -------------------------------------------------------------------------------- /NotMyUefiFault/src/NotMyUefiFaultPkg/NotMyUefiFault.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/NotMyUefiFault/src/NotMyUefiFaultPkg/NotMyUefiFault.c -------------------------------------------------------------------------------- /NotMyUefiFault/src/NotMyUefiFaultPkg/NotMyUefiFault.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/NotMyUefiFault/src/NotMyUefiFaultPkg/NotMyUefiFault.inf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/README.md -------------------------------------------------------------------------------- /bin/linux/UEFIExtract: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/bin/linux/UEFIExtract -------------------------------------------------------------------------------- /bin/mac/UEFIExtract: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/bin/mac/UEFIExtract -------------------------------------------------------------------------------- /bin/windows/UEFIExtract.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/bin/windows/UEFIExtract.exe -------------------------------------------------------------------------------- /core/EmulationManager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/core/EmulationManager.py -------------------------------------------------------------------------------- /core/FuzzingManager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/core/FuzzingManager.py -------------------------------------------------------------------------------- /core/callbacks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/core/callbacks.py -------------------------------------------------------------------------------- /core/fault.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/core/fault.py -------------------------------------------------------------------------------- /dummy_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/dummy_protocol.py -------------------------------------------------------------------------------- /efi_fuzz.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/efi_fuzz.py -------------------------------------------------------------------------------- /examples/nvram/PlatformInitDxe.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/nvram/PlatformInitDxe.efi -------------------------------------------------------------------------------- /examples/nvram/PlatformInitDxe.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/nvram/PlatformInitDxe.json -------------------------------------------------------------------------------- /examples/nvram/S3SaveStateDxe.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/nvram/S3SaveStateDxe.efi -------------------------------------------------------------------------------- /examples/nvram/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/nvram/run.sh -------------------------------------------------------------------------------- /examples/smm_callout/PiSaveStateAccess.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/smm_callout/PiSaveStateAccess.efi -------------------------------------------------------------------------------- /examples/smm_callout/SystemSmmAhciAspiLegacyRt.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/smm_callout/SystemSmmAhciAspiLegacyRt.efi -------------------------------------------------------------------------------- /examples/smm_callout/SystemSmmAhciAspiLegacyRt.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/smm_callout/SystemSmmAhciAspiLegacyRt.json -------------------------------------------------------------------------------- /examples/smm_callout/SystemSwSmiAllocatorDxe.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/smm_callout/SystemSwSmiAllocatorDxe.efi -------------------------------------------------------------------------------- /examples/smm_callout/SystemSwSmiAllocatorSmm.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/smm_callout/SystemSwSmiAllocatorSmm.efi -------------------------------------------------------------------------------- /examples/smm_callout/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/smm_callout/run.sh -------------------------------------------------------------------------------- /examples/smram_arbitrary_write/ItkSmmVars.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/smram_arbitrary_write/ItkSmmVars.efi -------------------------------------------------------------------------------- /examples/smram_arbitrary_write/ItkSmmVars.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/smram_arbitrary_write/ItkSmmVars.json -------------------------------------------------------------------------------- /examples/smram_arbitrary_write/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/examples/smram_arbitrary_write/run.sh -------------------------------------------------------------------------------- /guids.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/guids.csv -------------------------------------------------------------------------------- /images/NotMyUefiFault.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/images/NotMyUefiFault.png -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/requirements.txt -------------------------------------------------------------------------------- /rom/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/rom/__init__.py -------------------------------------------------------------------------------- /rom/efi_firmware_volume2_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/rom/efi_firmware_volume2_protocol.py -------------------------------------------------------------------------------- /sanitizers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/sanitizers/__init__.py -------------------------------------------------------------------------------- /sanitizers/base_sanitizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/sanitizers/base_sanitizer.py -------------------------------------------------------------------------------- /sanitizers/memory_sanitizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/sanitizers/memory_sanitizer.py -------------------------------------------------------------------------------- /sanitizers/smm_callout_sanitizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/sanitizers/smm_callout_sanitizer.py -------------------------------------------------------------------------------- /scripts/build_rom_db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/scripts/build_rom_db.py -------------------------------------------------------------------------------- /scripts/depex.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/scripts/depex.py -------------------------------------------------------------------------------- /scripts/prepare_afl_corpus.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/scripts/prepare_afl_corpus.py -------------------------------------------------------------------------------- /scripts/prepare_afl_corpus2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/scripts/prepare_afl_corpus2.py -------------------------------------------------------------------------------- /scripts/prepare_nvram.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/scripts/prepare_nvram.py -------------------------------------------------------------------------------- /scripts/prepare_nvram2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/scripts/prepare_nvram2.py -------------------------------------------------------------------------------- /scripts/rom_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/scripts/rom_utils.py -------------------------------------------------------------------------------- /smm/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/__init__.py -------------------------------------------------------------------------------- /smm/protocols/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/protocols/__init__.py -------------------------------------------------------------------------------- /smm/protocols/guids.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/protocols/guids.py -------------------------------------------------------------------------------- /smm/protocols/mm_access_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/protocols/mm_access_protocol.py -------------------------------------------------------------------------------- /smm/protocols/smm_access_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/protocols/smm_access_protocol.py -------------------------------------------------------------------------------- /smm/protocols/smm_base_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/protocols/smm_base_protocol.py -------------------------------------------------------------------------------- /smm/protocols/smm_cpu_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/protocols/smm_cpu_protocol.py -------------------------------------------------------------------------------- /smm/protocols/smm_sw_dispatch2_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/protocols/smm_sw_dispatch2_protocol.py -------------------------------------------------------------------------------- /smm/protocols/smm_sw_dispatch_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/protocols/smm_sw_dispatch_protocol.py -------------------------------------------------------------------------------- /smm/protocols/smm_sx_dispatch_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/protocols/smm_sx_dispatch_protocol.py -------------------------------------------------------------------------------- /smm/protocols/smm_variable_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/protocols/smm_variable_protocol.py -------------------------------------------------------------------------------- /smm/save_state_area.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/save_state_area.py -------------------------------------------------------------------------------- /smm/smm.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/smm.ini -------------------------------------------------------------------------------- /smm/swsmi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/smm/swsmi.py -------------------------------------------------------------------------------- /taint/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/taint/__init__.py -------------------------------------------------------------------------------- /taint/base_tainter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/taint/base_tainter.py -------------------------------------------------------------------------------- /taint/smm_memory_tainter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/taint/smm_memory_tainter.py -------------------------------------------------------------------------------- /taint/tracker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/taint/tracker.py -------------------------------------------------------------------------------- /taint/uninitialized_memory_tainter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/taint/uninitialized_memory_tainter.py -------------------------------------------------------------------------------- /tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/README.md -------------------------------------------------------------------------------- /tests/bin/EfiFuzzTests.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/bin/EfiFuzzTests.efi -------------------------------------------------------------------------------- /tests/res/$0AGD000.FL1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/res/$0AGD000.FL1 -------------------------------------------------------------------------------- /tests/src/EfiFuzzTestsPkg/EfiFuzzTests.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/src/EfiFuzzTestsPkg/EfiFuzzTests.inf -------------------------------------------------------------------------------- /tests/src/EfiFuzzTestsPkg/FirmwareVolumeTest.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/src/EfiFuzzTestsPkg/FirmwareVolumeTest.c -------------------------------------------------------------------------------- /tests/src/EfiFuzzTestsPkg/Main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/src/EfiFuzzTestsPkg/Main.c -------------------------------------------------------------------------------- /tests/src/EfiFuzzTestsPkg/SmiDispatchingTest.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/src/EfiFuzzTestsPkg/SmiDispatchingTest.c -------------------------------------------------------------------------------- /tests/src/EfiFuzzTestsPkg/SmmSaveStateTest.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/src/EfiFuzzTestsPkg/SmmSaveStateTest.c -------------------------------------------------------------------------------- /tests/src/EfiFuzzTestsPkg/SmmUtils.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/src/EfiFuzzTestsPkg/SmmUtils.c -------------------------------------------------------------------------------- /tests/src/EfiFuzzTestsPkg/SmmUtils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/src/EfiFuzzTestsPkg/SmmUtils.h -------------------------------------------------------------------------------- /tests/src/EfiFuzzTestsPkg/UninitializedMemoryTrackerTest.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/src/EfiFuzzTestsPkg/UninitializedMemoryTrackerTest.c -------------------------------------------------------------------------------- /tests/test_efi_fuzz.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/tests/test_efi_fuzz.py -------------------------------------------------------------------------------- /utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentinel-One/efi_fuzz/HEAD/utils.py --------------------------------------------------------------------------------