explaingit

can1357/haruspex

Analysis updated 2026-07-25 · repo last pushed 2026-01-08

321C++Audience · researcherComplexity · 5/5QuietSetup · hard

TLDR

Haruspex is a tool that discovers hidden, undocumented instructions in Intel CPUs by exploiting speculative execution and reading internal performance counters. It helps security researchers and low-level developers understand secret processor commands.

Mindmap

mindmap
  root((repo))
    What it does
      Finds hidden CPU commands
      Uses speculative execution
      Reads performance counters
    Tech stack
      C++
      Web server
      Kernel component
    Use cases
      Security research
      Code optimization
      Hardware exploration
    Audience
      Security researchers
      Systems developers
      Hardware enthusiasts

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Security researchers can find undocumented CPU instructions that malware might exploit as hidden backdoors.

USE CASE 2

Low-level developers can study how commands flow through the processor pipeline to optimize their code.

USE CASE 3

Hardware enthusiasts can explore and catalog undocumented instructions in Intel processors.

What is it built with?

C++Linux kernel moduleWeb server

How does it compare?

can1357/haruspexjtenniswood/espcontrol007firstlight/007-first-light-release
Stars321346350
LanguageC++C++C++
Last pushed2026-01-08
MaintenanceQuiet
Setup difficultyhardeasy
Complexity5/51/5
Audienceresearchergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires an Intel CPU, Linux kernel access to run the core component, and adaptation of pseudo-code to your specific system since private build tools are not shared.

In plain English

Haruspex is a project that uncovers hidden or undocumented instructions in Intel computer processors. Modern CPUs have a massive list of commands they can understand, but not all of these commands are publicly documented. This tool acts like a digital detective, figuring out what those secret commands are and how they affect the processor's internal workings. It works by taking advantage of "speculative execution," a trick modern processors use to guess what work they will need to do next in order to run faster. Haruspex tricks the processor into trying out unknown commands through this guessing process. Even though the processor ultimately cancels the guessed work before it officially finishes, it leaves behind subtle clues in the chip's internal performance counters. By reading those clues, the project can deduce what the mystery command actually did. This tool is primarily for security researchers, low-level systems developers, and hardware enthusiasts. For example, a security researcher might use it to find an undocumented instruction that malware could exploit, or a developer writing highly optimized software might want to understand exactly how different commands flow through the processor's pipeline to make their code run as fast as possible. The project includes a component that runs inside the computer's core system to generate this data, and a web server that lets users browse the findings in an interactive table. The creator notes that the core code is essentially "pseudo-code" because some of the private tools used to build it cannot be shared, but it is written clearly enough for another developer to adapt for their own system.

Copy-paste prompts

Prompt 1
Help me understand how speculative execution can be used to detect undocumented CPU instructions, and how I could adapt the Haruspex approach to test instructions on my own Intel processor.
Prompt 2
Write a kernel module skeleton in C++ that reads internal performance counters during speculative execution so I can detect side effects of unknown CPU instructions, inspired by the Haruspex project.
Prompt 3
Design an interactive web table UI that displays undocumented CPU instruction findings, including columns for instruction encoding, observed effects, and confidence level, based on the Haruspex project structure.

Frequently asked questions

What is haruspex?

Haruspex is a tool that discovers hidden, undocumented instructions in Intel CPUs by exploiting speculative execution and reading internal performance counters. It helps security researchers and low-level developers understand secret processor commands.

What language is haruspex written in?

Mainly C++. The stack also includes C++, Linux kernel module, Web server.

Is haruspex actively maintained?

Quiet — no commits in 6-12 months (last push 2026-01-08).

How hard is haruspex to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is haruspex for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.