Open
Description
Bug Report
Environment
dev branch of Revizor
OS: Ubuntu 24.04.2 LTS
Kernel: 6.8.0-53
How to reproduce
Command: ./tests/runtests.sh --stage acceptance_tests
Expected: Test Detection [spectre-type]: Spectre V4 (SSBP)
passes
Actual: Test fails with AssertionError
Details
Command: ./revizor.py fuzz -s base.json --save-violations f -I tests/x86_tests/configs -t tests/x86_tests/asm/spectre_v4.asm -c tests/x86_tests/configs/ssbp-verif.yaml -i 100
...
assert self._instruction, "track_memory_access called before track_instruction"
^^^^^^^^^^^^^^^^^
AssertionError: track_memory_access called before track_instruction'
Exit code: 1
Stack Trace:
AssertionError: track_memory_access called before track_instruction
at rvzr/model_unicorn/taint_tracker.py:164
at track_memory_access()
at mem_access_dispatch() (model.py:104)
at mem_access_callback() (model.py:322)
at _mem_access_hook() (model.py:118)
at emu_start() via unicorn hook chain
at _run_state_machine() (model.py:436)
Root Cause: Invalid order of service class callbacks in the Unicorn-based implementation of the BPAS
contract.
Metadata
Metadata
Assignees
Labels
No labels