{"id":40292847,"url":"https://github.com/microsoft/side-channel-fuzzer","last_synced_at":"2026-01-20T05:00:59.606Z","repository":{"id":47326264,"uuid":"334206449","full_name":"microsoft/side-channel-fuzzer","owner":"microsoft","description":"Revizor - Hardware fuzzing for the age of speculation","archived":false,"fork":false,"pushed_at":"2026-01-19T14:25:10.000Z","size":9791,"stargazers_count":177,"open_issues_count":4,"forks_count":47,"subscribers_count":12,"default_branch":"main","last_synced_at":"2026-01-19T20:49:23.866Z","etag":null,"topics":["fuzzing","meltdown","security","side-channel","spectre-vulnerability"],"latest_commit_sha":null,"homepage":"https://microsoft.github.io/side-channel-fuzzer/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-01-29T16:51:17.000Z","updated_at":"2026-01-19T14:10:10.000Z","dependencies_parsed_at":"2024-01-16T18:34:32.757Z","dependency_job_id":"c91cfc05-34b7-47c1-919e-8d7ac749ec88","html_url":"https://github.com/microsoft/side-channel-fuzzer","commit_stats":{"total_commits":839,"total_committers":13,"mean_commits":64.53846153846153,"dds":"0.32657926102502977","last_synced_commit":"1c68fddce05894300d3c741844f5c560c3455bf7"},"previous_names":["microsoft/side-channel-fuzzer"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/side-channel-fuzzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fside-channel-fuzzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fside-channel-fuzzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fside-channel-fuzzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fside-channel-fuzzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/side-channel-fuzzer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fside-channel-fuzzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28596087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fuzzing","meltdown","security","side-channel","spectre-vulnerability"],"created_at":"2026-01-20T05:00:35.860Z","updated_at":"2026-01-20T05:00:59.590Z","avatar_url":"https://github.com/microsoft.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Revizor\n\n![GitHub](https://img.shields.io/github/license/microsoft/side-channel-fuzzer)\n![PyPI](https://img.shields.io/pypi/v/revizor-fuzzer)\n![GitHub all releases](https://img.shields.io/github/downloads/microsoft/side-channel-fuzzer/total)\n![GitHub contributors](https://img.shields.io/github/contributors/microsoft/side-channel-fuzzer)\n\u003c!-- ![PyPI - Downloads](https://img.shields.io/pypi/dm/revizor-fuzzer) --\u003e\n\nRevizor is a security-oriented fuzzer for detecting information leaks in CPUs, such as [Spectre and Meltdown](https://meltdownattack.com/).\nIt tests CPUs against [Leakage Contracts](https://arxiv.org/abs/2006.03841) and searches for unexpected leaks.\n\n\u003c!-- For more details, see our [Paper](https://dl.acm.org/doi/10.1145/3503222.3507729) (open access [here](https://arxiv.org/abs/2105.06872)), and the follow-up papers ([1](https://arxiv.org/pdf/2301.07642.pdf), [2](https://www.usenix.org/conference/usenixsecurity23/presentation/hofmann)). --\u003e\n\n## Getting Started and Documentation\n\nYou can find a quick start guide at [Quick Start](https://microsoft.github.io/side-channel-fuzzer/quick-start/).\n\nFor information on how to use Revizor, see [User Documentation](https://microsoft.github.io/side-channel-fuzzer/user/).\n\nFor information on how to contribute to Revizor, see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Need Help with Revizor?\n\nIf you find a bug in Revizor, don't hesitate to [open an issue](https://github.com/microsoft/side-channel-fuzzer/issues).\n\nIf something is confusing or you need help in using Revizor, we have a [discussion page](https://github.com/microsoft/side-channel-fuzzer/discussions).\n\n## Citing Revizor\n\nTo cite this project, you can use any of the following references:\n\n1. Original paper that introduced the concept of Model-based Relation Testing as well as the Revizor tool:\n\n    Oleksii Oleksenko, Christof Fetzer, Boris Köpf, Mark Silberstein. \"[Revizor: Testing Black-box CPUs against Speculation Contracts](https://www.microsoft.com/en-us/research/publication/revizor-testing-black-box-cpus-against-speculation-contracts/)\" in Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2022.\n\n2. Theoretical foundations of leakage contract:\n\n    Marco Guarnieri, Boris Köpf, Jan Reineke, and Pepe Vila. \"[Hardware-software contracts for secure speculation](https://www.microsoft.com/en-us/research/publication/hardware-software-contracts-for-secure-speculation/)\" in Proceedings of the 2021 IEEE Symposium on Security and Privacy (SP), 2021.\n\n3. Accessible summary of the two papers above, in a journal format:\n\n    Oleksii Oleksenko, Christof Fetzer, Boris Köpf, Mark Silberstein. \"Revizor: Testing Black-box CPUs against Speculation Contracts\". In IEEE Micro, 2023.\n\n4. Paper that introduced speculation filtering, observation filtering, and contract-based input generation:\n\n    Oleksii Oleksenko, Marco Guarnieri, Boris Köpf, and Mark Silberstein. \"[Hide and Seek with Spectres: Efficient discovery of speculative information leaks with random testing](https://www.microsoft.com/en-us/research/publication/hide-and-seek-with-spectres-efficient-discovery-of-speculative-information-leaks-with-random-testing/)\" in Proceedings of the 2023 IEEE Symposium on Security and Privacy (SP), 2022.\n\n5. Paper that introduced exception-based testing (i.e., focus on Meltdown, Foreshadow) into Revizor:\n\n    Jana Hofmann, Emanuele Vannacci, Cédric Fournet, Boris Köpf, and Oleksii Oleksenko. \"[Speculation at Fault: Modeling and Testing Microarchitectural Leakage of CPU Exceptions.](https://www.usenix.org/conference/usenixsecurity23/presentation/hofmann)\" in Proceedings of 32nd USENIX Security Symposium (USENIX Security), 2023.\n\n6. Paper that introduced testing of cross-VM and user-kernel leaks in Revizor, as well as presented TSA attacks on AMD CPUs:\n\n    Oleksii Oleksenko, Flavien Solt, Cédric Fournet, Jana Hofmann, Boris Köpf, and Stavros Volos. \"[Enter, Exit, Page Fault, Leak: Testing Isolation Boundaries for Microarchitectural Leaks](https://www.microsoft.com/en-us/research/wp-content/uploads/2025/07/Enter-Exit-SP26.pdf)\" (to be published) in Proceedings of the 2026 IEEE Symposium on Security and Privacy (SP), 2026.\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft\ntrademarks or logos is subject to and must follow\n[Microsoft's Trademark \u0026 Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\nAny use of third-party trademarks or logos are subject to those third-party's policies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fside-channel-fuzzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fside-channel-fuzzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fside-channel-fuzzer/lists"}