
Auditing runtime a livello di sistema operativo per automazione imprevedibile.
Auditing runtime a livello di sistema operativo per automazione imprevedibile.
logira è una CLI Linux di sola osservazione che registra eventi runtime exec, file e net tramite eBPF. Ti aiuta a vedere cosa è realmente accaduto durante le esecuzioni di agenti AI e altre forme di automazione, con archiviazione locale per singola esecuzione per audit, revisione post-esecuzione, ricerca e triage delle rilevazioni.
codex --yolo o claude --dangerously-skip-permissions).logira include un set di regole predefinite opinionato e di sola osservazione progettato per l'audit delle esecuzioni di agenti AI.
Puoi anche aggiungere il tuo file YAML di regole per singola esecuzione con logira run --rules <file>.
~/.ssh, ~/.aws, configurazioni kube/gcloud/docker, .netrc, .git-credentials, credenziali registry..netrc, .git-credentials./etc, unità systemd, cron, voci di avvio automatico utente, file di avvio della shell./tmp, /dev/shm, /var/tmp.curl|sh, wget|sh, strumenti e flag di tunneling/reverse shell, decodifica base64 con indizi di shell.rm -rf, , , , e comandi simili.Opzione 1. Installa tramite lo script conveniente:
curl -fsSL https://raw.githubusercontent.com/melonattacker/logira/main/install.sh | sudo bash
Opzione 2. Installazione manuale da un tarball di rilascio:
tar -xzf logira_vX.Y.Z_linux-<arch>.tar.gz
cd logira_vX.Y.Z_linux-<arch>
sudo ./install-local.sh
Dopo reinstallazione/aggiornamento:
install.sh esegue systemctl enable --now).logirad per assicurarti che il nuovo binario sia in esecuzione.sudo systemctl daemon-reload
sudo systemctl restart logirad.service
sudo systemctl status logirad.service --no-pager
Compila:
make build
Avvia il demone root (necessario per il tracciamento):
sudo ./logirad
Per eseguire il demone root in background, installa il file unit da packaging/systemd/logirad.service.
# 1) Genera gli oggetti eBPF (necessario solo se mancanti)
make generate
# 2) Installa l'unità systemd
sudo install -D -m 0644 packaging/systemd/logirad.service /etc/systemd/system/logirad.service
# 3) Installa il binario del demone (l'unità predefinita è /usr/local/bin/logirad)
sudo install -m 0755 ./logirad /usr/local/bin/logirad
# 4) (Consigliato) Punta systemd ai file .o eBPF tramite un file di ambiente.
# Questo evita di fare affidamento sulla directory di lavoro del servizio.
sudo mkdir -p /etc/logira
sudo tee /etc/logira/logirad.env >/dev/null <<'EOF'
LOGIRA_EXEC_BPF_OBJ=/percorso/assoluto/dei/collector/linux/exec/trace_bpfel.o
LOGIRA_NET_BPF_OBJ=/percorso/assoluto/dei/collector/linux/net/trace_bpfel.o
LOGIRA_FILE_BPF_OBJ=/percorso/assoluto/dei/collector/linux/filetrace/trace_bpfel.o
EOF
# 5) Abilita + avvia
sudo systemctl daemon-reload
sudo systemctl enable --now logirad
# Segui i log
sudo journalctl -u logirad -f
# Controlla lo stato
systemctl status logirad --no-pager
# Ferma + disabilita
sudo systemctl stop logirad
sudo systemctl disable --now logirad
Esegui un agente sotto audit come utente normale (gli eventi vengono salvati automaticamente):
./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'
Esegui Codex CLI:
./logira run -- codex --yolo "Aggiorna il README per renderlo più chiaro e aggiungi esempi."
Esegui Claude Code CLI:
./logira run -- claude --dangerously-skip-permissions "Trova e correggi i test instabili."
Elenca le esecuzioni:
./logira runs
Visualizza e spiega l'ultima esecuzione:
./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
Interroga gli eventi:
./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 -- <comando...>: esegui un comando sotto audit e salva automaticamente una nuova esecuzionelogira runs: elenca le esecuzioni salvatelogira view [last|<id-esecuzione>]: dashboard dell'esecuzione (usa --raw per testo legacy)logira query [last|<id-esecuzione>] [filtri...]: cerca eventi con output tabellare specifico per tipologira explain [last|<id-esecuzione>]: rilevazioni raggruppate per impostazione predefinita (--show-related, --drill)Regole:
internal/detect/rules/default_rules.yaml)logira run --rules <file-yaml>examples/rules/README.md--watch è deprecato per sola compatibilitàDirectory home predefinita: ~/.logira (sovrascrivibile con LOGIRA_HOME)
Ogni esecuzione è memorizzata in:
~/.logira/
runs/<id-esecuzione>/
events.jsonl
index.sqlite
meta.json
Formato id-esecuzione: YYYYMMDD-HHMMSS-<strumento>
docs/jsonl.mddocs/sqlite.mddocs/rules.mddocs/development.mdlogirad deve essere eseguito sotto systemd per installazioni normali).logira status).logirad sia in esecuzione; logira run non richiede sudo.LOGIRA_EXEC_BPF_OBJ / LOGIRA_NET_BPF_OBJ / LOGIRA_FILE_BPF_OBJ.Il programma di installazione colloca:
/usr/local/bin/logira, /usr/local/bin/logirad/usr/local/lib/logira/bpf//etc/systemd/system/logirad.service/etc/logira/logirad.env (imposta LOGIRA_EXEC_BPF_OBJ, LOGIRA_NET_BPF_OBJ, LOGIRA_FILE_BPF_OBJ)Apache License 2.0. Vedi LICENSE per i dettagli.
I programmi eBPF in collector/linux/ sono dual-licensed: Apache-2.0 OR GPL-2.0-only.
Ciò garantisce la compatibilità con il kernel Linux quando si caricano programmi eBPF che richiedono helper solo GPL.
git clean -fdxfind -deletemkfsterraform destroy