micheal keines

Senior Security Engineer at Holm Security, Stockholm.

i build security products for a living — network scanners, web scanners, API scanners, the kind of tools that poke at your infrastructure so attackers don't get there first. i've spent the last few years designing scanning engines, writing exploitation modules, and figuring out how to make browser-based scanning actually work against modern SPAs. lately i've been integrating LLMs into security pipelines for smarter payload generation and false-positive reduction, which is more interesting than it sounds.

outside of work, i do independent vulnerability research — mostly in open-source projects where path traversals and file overwrites hide in plain sight. i also spend a lot of time in kernel land, writing a small ARM kernel from scratch just to understand how things actually work at the lowest level. memory management, page tables, schedulers — the stuff that makes everything else possible. i stream the whole kernel dev process live on YouTube — it's become a big part of how i learn and share what i'm working on.

before all this, i was a penetration tester doing white-box and grey-box assessments, and before that i was learning how to overflow buffers and pass OSCP. the thread through all of it is the same — i like breaking things to understand how they work, and then building better things with that understanding.


Streaming

i stream the entire kernel development process live on YouTube. building an ARM kernel from scratch — MMU setup, page allocators, schedulers, debugging sessions, all of it happening in real time. no edited highlights, just the actual process of writing kernel code, hitting weird faults, staring at GDB output, and eventually figuring it out.

if you're into low-level systems programming or just want to see what kernel development actually looks like (spoiler: lots of debugging), come hang out.


Vulnerability Research

i hunt for bugs in open-source projects — path traversals, file overwrites, info leaks, the kind of things that slip through code review because nobody thinks about what happens when a user-controlled path meets an unchecked write.

ongoing research targets Linux kernel subsystems and Chromium/V8 internals — memory safety bugs, filesystem boundary issues, and fuzzing-based discovery.


Certifications


Projects

i learn by building. most of these are experiments, research tools, or things i built to understand something better. some are useful, some are just me figuring things out.


What I Work With


Education


Articles

i'm writing a series on building an ARM kernel from scratch. it's not polished tutorials — it's the actual process, debugging sessions, wrong assumptions, and all. if you want to understand how kernels work at the lowest level, this is the messy real version.

Bootloader

understand what bootloader does.

· 5 min read

Interrupts

understand why do we need interrupts.

· 15 min read

Simple Scheduler

understanding how a Simple Scheduler works.

· 15 min read

MMU - Part 1

why do we need a MMU?

· 5 min read

MMU - Part 2

Setup and Enabling MMU Unit

· 5 min read

MMU - Part 3

Table Layout and Debugging MMU

· 15 min read

MMU - Part 4

More Debugging MMU

· 15 min read

MMU - Part 7

Linker Script Debugging

· 10 min read

MMU - Part 8

Low Level Page Allocator/DeAllocator Implementation.

· 10 min read

MMU - Part 9

Kmalloc Implementation

· 10 min read