
Runtime-Auditing auf Betriebssystemebene für unvorhersehbare Automatisierung.
OS-Level-Runtime-Audit für unvorhersehbare Automatisierung.
logira ist eine beobachtende (observe-only) Linux-CLI, die mittels eBPF exec-, file- und net-Ereignisse zur Laufzeit aufzeichnet. Sie hilft dir zu sehen, was während KI-Agentenläufen und anderen Formen der Automatisierung tatsächlich passiert ist – mit pro-Lauf-lokaler Speicherung für Auditing, Nachbereitung, Suche und Erkennungs-Triage.
codex --yolo oder claude --dangerously-skip-permissions).logira enthält eine meinungsbasierte, beobachtende Standard-Regelsammlung für das Auditing von KI-Agentenläufen.
Du kannst mit logira run --rules <datei> auch eigene Regeln pro Lauf als YAML anhängen.
~/.ssh, ~/.aws, kube/gcloud/docker‑Konfiguration, .netrc, .git-credentials, Registry-Credentials..netrc, .git-credentials./etc, systemd‑Units, cron, Benutzer-Autostart-Einträge, Shell-Startdateien./tmp, /dev/shm, /var/tmp erstellt wurden.curl|sh, wget|sh, Tunnel-/Reverse-Shell-Werkzeuge und -Flags, base64‑Dekodierung mit Shell-Hinweisen.rm -rf, , , , und ähnliche Befehle.Option 1. Installation über das praktische Skript:
curl -fsSL https://raw.githubusercontent.com/melonattacker/logira/main/install.sh | sudo bash
Option 2. Manuelle Installation aus einem Release-Tarball:
tar -xzf logira_vX.Y.Z_linux-<arch>.tar.gz
cd logira_vX.Y.Z_linux-<arch>
sudo ./install-local.sh
Nach Neuinstallation / Upgrade:
install.sh führt systemctl enable --now aus).logirad neu starten, um sicherzustellen, dass die neue Binärdatei läuft.sudo systemctl daemon-reload
sudo systemctl restart logirad.service
sudo systemctl status logirad.service --no-pager
Build:
make build
Starte den Root-Daemon (erforderlich für das Tracing):
sudo ./logirad
Um den Root-Daemon im Hintergrund zu betreiben, installiere die Unit-Datei aus packaging/systemd/logirad.service.
# 1) eBPF-Objekte generieren (nur nötig, wenn sie fehlen)
make generate
# 2) systemd-Unit installieren
sudo install -D -m 0644 packaging/systemd/logirad.service /etc/systemd/system/logirad.service
# 3) Daemon-Binärdatei installieren (Unit‑Standard: /usr/local/bin/logirad)
sudo install -m 0755 ./logirad /usr/local/bin/logirad
# 4) (Empfohlen) systemd über eine Umgebungsdatei auf die eBPF .o‑Dateien hinweisen.
# So wird vermieden, dass der Dienst auf das Arbeitsverzeichnis angewiesen ist.
sudo mkdir -p /etc/logira
sudo tee /etc/logira/logirad.env >/dev/null <<'EOF'
LOGIRA_EXEC_BPF_OBJ=/absolute/path/to/collector/linux/exec/trace_bpfel.o
LOGIRA_NET_BPF_OBJ=/absolute/path/to/collector/linux/net/trace_bpfel.o
LOGIRA_FILE_BPF_OBJ=/absolute/path/to/collector/linux/filetrace/trace_bpfel.o
EOF
# 5) Aktivieren + starten
sudo systemctl daemon-reload
sudo systemctl enable --now logirad
# Logs verfolgen
sudo journalctl -u logirad -f
# Status prüfen
systemctl status logirad --no-pager
# Stoppen + deaktivieren
sudo systemctl stop logirad
sudo systemctl disable --now logirad
Einen Agenten unter Audit als normaler Benutzer ausführen (Ereignisse werden automatisch gespeichert):
./logira run -- bash -lc 'echo hi > x.txt; curl -s https://example.com >/dev/null'
./logira run --rules ./my-rules.yaml -- bash -lc 'cat ~/.aws/credentials >/dev/null'
Codex CLI ausführen:
./logira run -- codex --yolo "Aktualisiere die README, damit sie klarer wird und füge Beispiele hinzu."
Claude Code CLI ausführen:
./logira run -- claude --dangerously-skip-permissions "Finde und repariere flaky Tests."
Läufe auflisten:
./logira runs
Letzten Lauf anzeigen und erklären:
./logira view last
./logira view last --ts both
./logira view last --color always
./logira explain last
./logira explain last --show-related
./logira explain last --drill 35
Ereignisse abfragen:
./logira query last --type detection
./logira query last --type net --dest 140.82.121.4:443
./logira query last --related-to-detections --type net
./logira query last --contains curl
logira run -- <befehl...>: Einen Befehl unter Audit ausführen und automatisch einen neuen Lauf speichernlogira runs: Gespeicherte Läufe auflistenlogira view [last|<lauf-id>]: Lauf-Dashboard (verwende --raw für Legacy-Text)logira query [last|<lauf-id>] [filter...]: Ereignisse mit typ-spezifischer Tabellenausgabe durchsuchenlogira explain [last|<lauf-id>]: Gruppierte Erkennungen standardmäßig (--show-related, --drill)Regeln:
internal/detect/rules/default_rules.yaml)logira run --rules <yaml-datei> angehängt werdenexamples/rules/README.md--watch ist veraltet und dient nur zur KompatibilitätStandard‑Home‑Verzeichnis: ~/.logira (überschreibbar mit LOGIRA_HOME)
Jeder Lauf wird gespeichert unter:
~/.logira/
runs/<lauf-id>/
events.jsonl
index.sqlite
meta.json
lauf-id‑Format: YYYYMMDD-HHMMSS-<tool>
docs/jsonl.mddocs/sqlite.mddocs/rules.mddocs/development.mdlogirad wird bei normalen Installationen unter systemd erwartet).logira status).logirad laufen; logira run selbst benötigt kein sudo.LOGIRA_EXEC_BPF_OBJ / LOGIRA_NET_BPF_OBJ / LOGIRA_FILE_BPF_OBJ.Das Installationsskript platziert:
/usr/local/bin/logira, /usr/local/bin/logirad/usr/local/lib/logira/bpf//etc/systemd/system/logirad.service/etc/logira/logirad.env (setzt LOGIRA_EXEC_BPF_OBJ, LOGIRA_NET_BPF_OBJ, LOGIRA_FILE_BPF_OBJ)Apache License 2.0. Details siehe LICENSE.
eBPF‑Programme unter collector/linux/ sind dual lizenziert: Apache‑2.0 ODER GPL‑2.0‑only.
Dies gewährleistet Kompatibilität mit dem Linux‑Kernel beim Laden von eBPF‑Programmen, die GPL‑nur‑Helfer benötigen.
git clean -fdxfind -deletemkfsterraform destroy