The MUGEN Diaries
◈ MUGEN Scorecard
MUGEN ✦ 無限 ✦ READER OF THE MOON ✦ FINDER OF THE UNSEEN FLAW ✦ 無限

無限 · the boundless

The MUGEN Diaries

Reader of the moon. Finder of the unseen flaw. It sees what the compiler tried to bury, and shows you where the walls run thin.

In plainer words: MUGEN is a static analyzer for compiled Windows binaries, and this is the honest record of building it, the wins, the reverts, and the misses, in the order they happened. The invocation is for effect. The diary is not.

MUGEN Scorecard What MUGEN has actually caught: the blind results, the built-to-catch wins, and one false positive →

Prologue

00Apr 2026the idearead

Where MUGEN came from

The idea, the 4 reasons behind it, and a plan much bigger than what survived. Background, before any code.

April 2026

01Apr 2026v0.1.0read

The engine with no blueprint

What it even means to find a flaw in a program you can't read: sources, sinks, taint, and where the decompiler quits.

02Apr 2026v0.3.0read

Confidently wrong

The first thing I was sure of, measured, and had to throw out the same day. On distrusting a benchmark that agrees with you.

03Apr 2026v0.4-v0.6read

The work you don't do

Parallelism failed, so the real speedup came from not analyzing the binaries that don't matter, then running the rest in isolated processes. 20 hours to one.

04Apr 2026v0.7-v0.10read

Teaching it to follow data

Interprocedural taint, vtable resolution from 0 to over 900, and the 5 places a stock taint tracker goes blind.

05Apr 2026v0.11-v0.13read

Three layers that check each other

Ghidra, a constraint solver, and me. Why each layer exists mainly to keep the next one honest.

06Apr 2026v0.14-v0.17read

New kinds of wrong

Time-of-check races, taint that finally crosses whole call graphs, the first look at kernel drivers, and the tool learning to talk to an AI reviewer.

07Apr 2026v0.18-v0.22read

Poking back

Confirming findings by running them, a UI deleted and rebuilt twice, and the pivot from watching a target to poking it.

08Apr 2026v0.22.xread

afd.sys, zero to twelve

The first real target, a Windows kernel driver, and what "surfaced" honestly does and doesn't mean.

May 2026

09May 2026v0.23.xread

The month I kept inventing bugs

Plausible, well-formed vulnerabilities that did not exist, and the machinery built to disbelieve me.

June 2026

10Jun 2026renamesoon

A new name

Tsukuyomi becomes Mugen, and why both names describe the same thing: a tool that dreams up exploits.

11Jun 2026backtestsoon

The night the numbers came back

A blind test on real binaries with the answers hidden. Where "found the function" and "found the bug" came apart.

July 2026

12Jul 2026v0.23.35soon

The finding that wasn't

A beautiful, confident finding that was refuted in one move, and the reviewer we built to kill the rest.

TBDJul 2026v0.24.6read

CVE-2026-3008: the right bug, the wrong name

MUGEN nailed CVE-2026-3008 in a stripped Notepad++, at the exact published address. I labeled it CVE-2026-5525, the bug we were hunting. The engine was right; the wrong CVE was mine.

August 2026

TBDAug 2026v0.24.17read

A live bug in dead code

MUGEN found the vulnerable network parser in VLC (CVE-2025-51602), correctly, then buried it as unreachable dead code. The blind spot where a tool disbelieves its own answer.