Skip to content
View splintersfury's full-sized avatar

Block or report splintersfury

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
splintersfury/README.md

Ahmad Abdillah

Windows kernel driver security research and tooling

Blog KernelSight


I reverse Windows kernel drivers and study how vendors patch security bugs. A lot of driver updates ship quietly with no CVE or advisory, and the real fixes — use-after-free, missing bounds checks, IOCTL validation — get buried under hundreds of cosmetic changes. Reviewing a single driver update manually takes 4 to 12 hours, so I built tooling to do it at scale.

I'm still learning and improving these tools as I go.

How It Works

Drivers get picked up from public sources, decompiled with Ghidra, diffed against prior builds, run through semantic detection rules, scored, and flagged for review. In parallel, every incoming driver is scored for attack surface exposure using DriverAtlas — high-risk drivers get flagged immediately, before patch analysis even finishes.

graph LR
    sources["Driver Sources"]:::src --> analyze["Decompile &<br/>Diff"]
    sources --> triage["Attack Surface<br/>Scoring"]:::triage
    analyze --> detect["Semantic<br/>Detection"]
    detect --> score["Score &<br/>Rank"]
    score --> report["Report"]
    score --> alert["Alert"]
    triage --> alert

    classDef src fill:#1a1a2e,stroke:#e94560,color:#eee
    classDef triage fill:#1a1a2e,stroke:#e9a345,color:#eee
    classDef default fill:#16213e,stroke:#0f3460,color:#eee
Loading

Projects

KernelSight Knowledge base of Windows kernel driver exploitation techniques and attack surfaces. 28 case studies grounded in real CVEs with driver names, build numbers, and PoC references.
AutoPiff Semantic analysis engine for detecting vulnerability fixes in driver patches. 58 YAML rules across 22 categories, Ghidra decompilation, reachability tracing, scoring, and DriverAtlas triage.
DriverAtlas Structural analysis toolkit for Windows kernel drivers. Fingerprints frameworks, scores attack surface exposure (22 weighted rules, 0–15 scale), and hunts for high-risk drivers via VirusTotal Intelligence.
driver_analyzer Production pipeline that runs AutoPiff at scale. Karton + MWDB + Ghidra + MinIO, with dashboards, alerting, and driver monitoring.

What the Rules Detect

Category What It Looks For
Use-After-Free ExFreePool followed by pointer nullification
Bounds Checks Length validation added before memcpy / RtlCopyMemory
User/Kernel Boundary ProbeForRead / ProbeForWrite additions
Integer Overflow Safe math helpers: RtlULongAdd, RtlSizeTMult
Race Conditions Interlocked operations, lock acquisition changes
IOCTL Hardening Input validation in dispatch handlers
Pool Corruption Pool tag/type changes, NX pool migration
Privilege Checks SeSinglePrivilegeCheck / token validation

Tech

Analysis Python, Ghidra (headless), YAML rule engine
Infrastructure Karton, MWDB Core, Redis, RabbitMQ, MinIO, Docker
RE Tooling IDA Pro, Ghidra, WinDbg, x64dbg

threatunpacked.com

Pinned Loading

  1. driver_analyzer driver_analyzer Public

    Scalable Windows kernel driver vulnerability analysis pipeline — Karton + MWDB + Ghidra, with dashboards, alerting, and driver monitoring

    Python 2 1

  2. AutoPiff AutoPiff Public

    Semantic analysis engine for detecting vulnerability fixes in Windows kernel driver patches — 58 YAML rules, Ghidra decompilation, reachability tracing, and scoring

    Python 1

  3. KernelSight KernelSight Public

    Windows kernel driver exploitation knowledge base — 28 case studies organized by driver type, grounded in real CVEs with build numbers and PoC references

    Python 1

  4. DriverAtlas DriverAtlas Public

    Windows kernel driver structural analysis toolkit — PE scanner, framework classifier, and corpus manager

    Python