
Headless-KI-Agent für deterministisches Reverse Engineering.
_ _
| | _____ _ __ _ __ __ _ __ _ ___ _ __ | |_
| |/ / _ \ '__| '_ \ / _` |/ _` |/ _ \ '_ \| __|
| < __/ | | | | | (_| | (_| | __/ | | | |_
|_|\_\___|_| |_| |_|\__,_|\__, |\___|_| |_|\__|
|___/
Verwandle Binärdateien in Gespräche — deterministisch, auditierbar, offline-fähig.
kernagent wandelt eine Binärdatei in einen portablen statischen Snapshot um und ermöglicht es einer LLM (oder deinen Skripten), Fragen mit Belegen zu beantworten.
Keine Live-IDE • Keine GUI-Automatisierung • Keine Halluzinationen
Offline-fähig: komplett lokal über einen OpenAI-kompatiblen Endpoint (z. B. Ollama, LM Studio); keine Internetverbindung erforderlich.
/v1/chat/completions-LLM-Endpoint (OpenAI, Gemini, Ollama, LM Studio, dein Gateway)/v1/chat/completions-Gateway wie Ollama oder LM Studio)Wähle den Ablauf, der zu deinem Tooling passt. Alle Optionen binden ~/.config/kernagent/config.env ein, sodass du Zugangsdaten nur einmal konfigurierst.
install.sh-Wrapper (Linux / macOS / WSL2)bash <(curl -fsSL https://raw.githubusercontent.com/Karib0u/kernagent/main/install.sh)
Falls der Einzeiler blockiert ist:
curl -fsSL https://raw.githubusercontent.com/Karib0u/kernagent/main/install.sh -o install.sh
bash install.sh
Oder zuerst klonen:
git clone https://github.com/Karib0u/kernagent.git
cd kernagent
bash install.sh
Das Installationsskript führt Folgendes aus (vollständig überprüfbar in scripts/):
ghcr.io/karib0u/kernagent:latest-Image aus der GitHub Container Registry (kein Build-Schritt)/usr/local/bin/:
kernagent — Haupt-CLI-Wrapper (bindet Binärdateien und Konfiguration automatisch ein)kernagent-config — interaktiver Konfigurationseditorkernagent-update — auf neueste/getaggte Version aktualisierenkernagent-uninstall — entfernt alle installierten Dateien~/.config/kernagent/.versionAlle Skripte sind einfacher Shell-Code, den du vor dem Ausführen in scripts/ einsehen kannst. Kein sudo erforderlich, außer /usr/local/bin ist nicht beschreibbar.
Um eine bestimmte Version des Wrappers und des Images zu installieren, verweist du den Bootstrapper auf ein getaggtes Skript und übergibst den Tag:
KERNAGENT_INSTALL_URL="https://raw.githubusercontent.com/Karib0u/kernagent/vX.Y.Z/scripts/install.sh" \
bash <(curl -fsSL https://raw.githubusercontent.com/Karib0u/kernagent/main/install.sh) --tag vX.Y.Z
Du kannst auch auf einen exakten Commit festlegen, indem du in der Raw-URL vX.Y.Z durch eine Commit-SHA ersetzt.
git clone https://github.com/Karib0u/kernagent.git
cd kernagent
mkdir -p ~/.config/kernagent
cp config.env.example ~/.config/kernagent/config.env
# Pull pre-built image (recommended)
docker compose pull
# Or build locally for development
docker compose build
docker compose run --rm kernagent --help
Analysiere Binärdateien, indem du ihr Verzeichnis unter /data einbindest:
docker compose run --rm \
-v /absolute/path/to/binaries:/data \
kernagent summary /data/sample.exe
Unter Windows (PowerShell + Docker Desktop) verwende Windows-absolute Pfade wie C:\malware:/data.
Vorgefertigtes Image ziehen (empfohlen):
mkdir -p ~/.config/kernagent
curl -fsSL https://raw.githubusercontent.com/Karib0u/kernagent/main/config.env.example \
-o ~/.config/kernagent/config.env
docker pull ghcr.io/karib0u/kernagent:latest
docker run --rm \
-v /absolute/path/to/binaries:/data \
-v ~/.config/kernagent/config.env:/config/config.env:ro \
ghcr.io/karib0u/kernagent:latest summary /data/sample.exe
Oder lokal bauen:
git clone https://github.com/Karib0u/kernagent.git
cd kernagent
docker build -t kernagent:local .
docker run --rm \
-v /absolute/path/to/binaries:/data \
-v ~/.config/kernagent/config.env:/config/config.env:ro \
kernagent:local summary /data/sample.exe
Option 1 (Wrapper):
kernagent --help
kernagent --version
Direkt ausführen:
kernagent summary /path/to/binary.exe
kernagent ask /path/to/binary.exe "What does this binary do?"
kernagent oneshot /path/to/binary.exe
Optionen 2 oder 3 (Docker Compose / rohes Docker):
Verifizieren, indem du die Hilfe ausführst:
# Docker Compose
docker compose run --rm kernagent --help
# Raw Docker
docker run --rm ghcr.io/karib0u/kernagent:latest --help
Option 1 (Wrapper):
kernagent-uninstall
Optionen 2 oder 3 (Docker Compose / rohes Docker):
Lösche einfach das geklonte Repository und entferne die Images:
docker image rm ghcr.io/karib0u/kernagent:latest
# oder
docker image rm kernagent:local
Option 1 (Wrapper):
kernagent-update # auf neueste Version wechseln
kernagent-update --check # nur prüfen
kernagent-update --tag vX.Y.Z # auf bestimmte Version festlegen
Optionen 2 oder 3 (Docker Compose / rohes Docker):
Führe erneut docker compose pull oder docker pull ghcr.io/karib0u/kernagent:latest aus.
Summary — Management-Übersicht mit zitierten Artefakten

Ask — fokussierte Q&A mit Xrefs/Dekompilierungs-Ausschnitten

Erster Lauf — falls kein
<name>_archive/-Snapshot existiert, erstelltkernagentihn automatisch, bevor es antwortet
summaryManagement-Übersicht: Zweck, Fähigkeiten, Schlüsselfunktionen/Imports/Strings, mit Adressen zur Überprüfung
kernagent summary /path/to/binary
# raw JSON (for automation)
kernagent summary /path/to/binary --json
askInteraktive Q&A über den Snapshot mit sicheren Werkzeugen (Funktionen/Strings/Imports durchsuchen, Callgraph verfolgen, Dekompilierung lesen, Xrefs auflösen)
kernagent ask /path/to/binary "Show suspected C2 logic and evidence."
oneshotDeterministischer Triage-Bericht für CI/Massenanalyse. Klassifizierung:
MALICIOUS | GRAYWARE | BENIGN | UNKNOWN
kernagent oneshot /path/to/binary
# raw JSON (for automation)
kernagent oneshot /path/to/binary --json
Globale Überschreibungen (beliebiger Befehl):
# verbosity and per-run model/API overrides
kernagent -v --model gpt-4o \
--base-url https://api.openai.com/v1 \
--api-key sk-... \
summary /path/to/binary
Snapshot-Layout (Ausschnitt)
<name>_archive/
├─ meta.json
├─ functions.jsonl
├─ strings.jsonl
├─ imports_exports.json
├─ callgraph.jsonl
├─ capa_summary.json
└─ decomp/*.c
Einmal erstellen (außerhalb des Repos). Schneller Weg:
kernagent-config
Oder die Datei manuell bearbeiten:
mkdir -p ~/.config/kernagent
cp config.env.example ~/.config/kernagent/config.env
$EDITOR ~/.config/kernagent/config.env
Überschreiben über Umgebungsvariablen:
export OPENAI_API_KEY=...
export OPENAI_BASE_URL=https://api.openai.com/v1 # oder dein Gateway
export OPENAI_MODEL=gpt-4o # oder dein lokales Modell
Jeder /v1/chat/completions-kompatible Endpoint funktioniert.
PRs willkommen
Apache 2.0 — siehe LICENSE