Kernel Monitor

2026

eBPF-ytimentarkkailija — yli 1,6 miljoonaa kaapattua syscallia, paikallinen phi3:mini-tekoäly, live-kojelauta Macilta Linuxille WiFin kautta

eBPF / BCCPythonFastAPISQLiteOllamaNext.jsTypeScriptTailwind CSS

Rooli

Yksin toteutettu

Tila

Valmis

Lähdekoodi

GitHub
Kernel Monitor

Mitä rakensin

Linux-ytimen tarkkailujärjestelmä, joka kiinnittyy openat-syscalliin eBPF:n kautta ja kaappaa jokaisen tiedostonavauspyynnön koneella — prosessin nimi, PID, tiedostonimi, aikaleima. Tapahtumat virtaavat SQLiteen yli 200 tapahtuman sekuntivauhdilla. FastAPI-backend tarjoaa datan kolmen endpointin kautta. Next.js-kojelauta, joka pyörii erillisellä koneella, hakee dataa paikallisen WiFin kautta kolmen sekunnin välein ja näyttää live-tapahtumavirran epäilyttävien polkujen tunnistuksella sekä paikallisen tekoälyn chat-käyttöliittymän phi3:minin ja Ollaman kautta.

Tekoäly saa oikean ytimen datan kontekstiksi jokaiseen kysymykseen — ei hallusinointia, ei arvailua. Kysy ”mitä Docker tekee?” ja se hakee SQLitestä, rakentaa kontekstin ja vastaa oikeaan syscall-dataan perustuen.

Mitä opin

eBPF on petollisen monimutkainen moderneilla ytimillä. Tracepoint-kenttien nimet, muistinlukuapurit ja kiinnitysmenetelmät ovat kaikki muuttuneet ytimen versioiden välillä — mikä toimii 5.x:llä, epäonnistuu äänettömästi 6.17:lla. Debuggaus vaati ytimen tracepoint-formaattitiedostojen lukemista suoraan /sys/kernel/debug/tracing-kansiosta ja Pythoniin upotetun C-koodin iterointia kunnes verifier hyväksyi sen. Verifier itsessään oli kiinnostavin konsepti — staattinen analyysimoottori, joka todistaa, että ytimen koodi ei voi kaataa järjestelmää ennen sen suorittamisen sallimista.

Paikallinen tekoälyarkkitehtuuri oli tietoinen valinta. eBPF näkee arkaluonteista dataa — SSH-avainten lukemista, salasanatiedostojen käyttöä, yksityisiä tiedostopolkuja. Tämän lähettäminen pilvi-API:lle olisi yksityisyyden loukkaus. Paikallinen inferenssi Ollaman kautta tarkoittaa, että ytimen data ei koskaan poistu koneelta.

Kohokohdat

  • eBPF-tracepoint-koukku sys_enter_openat-kohdassa — ydin 6.17
  • Yli 1,6 miljoonaa kaapattua syscall-tapahtumaa yhden päivän aikana
  • Epäilyttävien polkujen tunnistus — /etc/passwd, /etc/shadow, /etc/gshadow
  • Klikkaa mitä tahansa tapahtumariviä → tekoäly tutkii prosessin automaattisesti
  • Paikallinen phi3:mini-inferenssi — ei API-kuluja, eikä data poistu koneelta
  • Live-kojelauta käytettävissä Macilta paikallisen WiFin kautta

Teknologiat

  • Ydinkerros: eBPF BCC Python -sidosten kautta
  • Backend: FastAPI, SQLite, Ollama, psutil
  • Frontend: Next.js, TypeScript, Tailwind CSS, shadcn/ui
  • Infrastruktuuri: Linux Ubuntu, ydin 6.17, ASUS ROG GL502VML