
Audit au niveau du système d'exploitation pour l'automatisation imprévisible.
Audit d'exécution au niveau OS pour l'automatisation imprévisible.
logira est une CLI Linux en observation uniquement qui enregistre les événements d'exécution exec, file et net via eBPF. Elle permet de voir ce qui s'est réellement passé lors des exécutions d'agents IA et d'autres formes d'automatisation, avec un stockage local par exécution pour l'audit, la révision post-exécution, la recherche et le triage des détections.
codex --yolo ou claude --dangerously-skip-permissions).logira inclut un ensemble de règles par défaut orienté, en observation uniquement, destiné à auditer les exécutions d'agents IA. Vous pouvez également ajouter votre propre fichier YAML de règles par exécution avec logira run --rules <fichier>.
~/.ssh, ~/.aws, config kube/gcloud/docker, .netrc, .git-credentials, informations d'identification de registre..netrc, .git-credentials./etc, unités systemd, cron, entrées de démarrage automatique, fichiers de démarrage du shell./tmp, /dev/shm, /var/tmp.curl|sh, wget|sh, outils et drapeaux de tunneling/shell inversé, décodage base64 avec indices de shell.rm -rf, , , , , et commandes similaires.Option 1. Installer via le script pratique :
curl -fsSL https://raw.githubusercontent.com/melonattacker/logira/main/install.sh | sudo bash
Option 2. Installation manuelle à partir d'une archive de version :
tar -xzf logira_vX.Y.Z_linux-<arch>.tar.gz
cd logira_vX.Y.Z_linux-<arch>
sudo ./install-local.sh
Après réinstallation/mise à jour :
install.sh exécute systemctl enable --now).logirad pour s'assurer que le nouveau binaire est en cours d'exécution.sudo systemctl daemon-reload
sudo systemctl restart logirad.service
sudo systemctl status logirad.service --no-pager
Construction :
make build
Démarrer le démon root (requis pour le traçage) :
sudo ./logirad
Pour exécuter le démon root en arrière-plan, installez le fichier unité depuis packaging/systemd/logirad.service.
# 1) Generate eBPF objects (only needed if missing)
make generate
# 2) Install the systemd unit
sudo install -D -m 0644 packaging/systemd/logirad.service /etc/systemd/system/logirad.service
# 3) Install the daemon binary (unit defaults to /usr/local/bin/logirad)
sudo install -m 0755 ./logirad /usr/local/bin/logirad
# 4) (Recommended) Point systemd at the eBPF .o files via an environment file.
# This avoids relying on the service working directory.
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) Enable + start
sudo systemctl daemon-reload
sudo systemctl enable --now logirad
# Follow logs
sudo journalctl -u logirad -f
# Check status
systemctl status logirad --no-pager
# Stop + disable
sudo systemctl stop logirad
sudo systemctl disable --now logirad
Exécutez un agent sous audit en tant qu'utilisateur normal (les événements sont automatiquement sauvegardés) :
./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'
Exécutez Codex CLI :
./logira run -- codex --yolo "Update the README to be clearer and add examples."
Exécutez Claude Code CLI :
./logira run -- claude --dangerously-skip-permissions "Find and fix flaky tests."
Liste des exécutions :
./logira runs
Voir et expliquer la dernière exécution :
./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
Interroger les événements :
./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 -- <commande...> : exécuter une commande sous audit et sauvegarder automatiquement une nouvelle exécutionlogira runs : lister les exécutions sauvegardéeslogira view [last|<id-exécution>] : tableau de bord d'exécution (utilisez --raw pour le texte historique)logira query [last|<id-exécution>] [filtres...] : rechercher des événements avec un tableau spécifique au typelogira explain [last|<id-exécution>] : détections groupées par défaut (--show-related, --drill)Règles :
internal/detect/rules/default_rules.yaml)logira run --rules <fichier-yaml>examples/rules/README.md--watch est déprécié pour compatibilité uniquementRépertoire d'accueil par défaut : ~/.logira (surcharge : LOGIRA_HOME)
Chaque exécution est stockée dans :
~/.logira/
runs/<run-id>/
events.jsonl
index.sqlite
meta.json
format run-id : YYYYMMDD-HHMMSS-<tool>
docs/jsonl.mddocs/sqlite.mddocs/rules.mddocs/development.mdlogirad est censé fonctionner sous systemd pour les installations normales).logira status).logirad soit en cours d'exécution ; logira run lui-même ne nécessite pas sudo.LOGIRA_EXEC_BPF_OBJ / LOGIRA_NET_BPF_OBJ / LOGIRA_FILE_BPF_OBJ.L'installateur place :
/usr/local/bin/logira, /usr/local/bin/logirad/usr/local/lib/logira/bpf//etc/systemd/system/logirad.service/etc/logira/logirad.env (définit LOGIRA_EXEC_BPF_OBJ, LOGIRA_NET_BPF_OBJ, LOGIRA_FILE_BPF_OBJ)Licence Apache 2.0. Voir LICENSE pour plus de détails.
Les programmes eBPF sous collector/linux/ sont sous double licence : Apache-2.0 OU GPL-2.0-uniquement.
Cela garantit la compatibilité avec le noyau Linux lors du chargement de programmes eBPF nécessitant des helpers GPL uniquement.
git clean -fdxfind -deletemkfsterraform destroy