A local explorer for syzkaller reproducer corpora: parses syz programs into SQLite, joins them to syzbot bug metadata, and serves motif / nearest-neighbor / seed / diff views over the result.
kmap/
├── __init__.py, parser.py, db.py, index.py, scrape.py, search.py, app.py
├── templates/, static/ # Flask views
The generated SQLite lives at ../kmap.db (one level up) by default, or wherever $KMAP_DB points.
pip install flask requests beautifulsoup4 matplotlib numpy
# point kmap at a corpus of syz programs (one `*.txt` per reproducer).
# by default it looks for ./files in the current directory, then falls back
# to ../linux-kernel-enriched-corpus/files next to this package.
export KMAP_FILES=/path/to/linux-kernel-enriched-corpus/files
export KMAP_DB=/path/to/kmap.db # optional; defaults to ../kmap.db
python3 -m kmap.index # parse files/ → kmap.db (~2 min for 68k programs)
python3 -m kmap.scrape # fetch syzbot metadata, rate-limited, resumable (~1.5h full)
python3 -m kmap.app # serves on http://127.0.0.1:5057