
Auditoria de runtime em nível de sistema operacional para automação imprevisível.
Auditoria em nível de SO para automação imprevisível.
logira é um CLI Linux de apenas observação que registra eventos de exec, file e net em tempo de execução via eBPF. Ele ajuda a ver o que realmente aconteceu durante execuções de agentes de IA e outras formas de automação, com armazenamento local por execução para auditoria, revisão pós-execução, busca e triagem de detecções.
codex --yolo ou claude --dangerously-skip-permissions).logira inclui um conjunto de regras padrão opinativas e apenas de observação voltadas para auditoria de execuções de agentes de IA.
Você também pode anexar seu próprio arquivo YAML de regras por execução com logira run --rules <arquivo>.
~/.ssh, ~/.aws, configuração de kube/gcloud/docker, .netrc, .git-credentials, credenciais de registro..netrc, .git-credentials./etc, unidades systemd, cron, entradas de inicialização automática do usuário, arquivos de inicialização do shell./tmp, /dev/shm, /var/tmp.curl|sh, wget|sh, ferramentas e flags de tunelamento/reverse shell, decode base64 com indícios de shell.rm -rf, , , , e comandos similares.Opção 1: Instalar via script conveniente:
curl -fsSL https://raw.githubusercontent.com/melonattacker/logira/main/install.sh | sudo bash
Opção 2: Instalação manual a partir de um tarball de release:
tar -xzf logira_vX.Y.Z_linux-<arch>.tar.gz
cd logira_vX.Y.Z_linux-<arch>
sudo ./install-local.sh
Após reinstalação/atualização:
install.sh executa systemctl enable --now).logirad para garantir que o novo binário esteja em execução.sudo systemctl daemon-reload
sudo systemctl restart logirad.service
sudo systemctl status logirad.service --no-pager
Compilar:
make build
Iniciar o daemon root (necessário para rastreamento):
sudo ./logirad
Para executar o daemon root em segundo plano, instale o arquivo de unidade de packaging/systemd/logirad.service.
# 1) Gerar objetos eBPF (necessário apenas se estiverem faltando)
make generate
# 2) Instalar a unidade systemd
sudo install -D -m 0644 packaging/systemd/logirad.service /etc/systemd/system/logirad.service
# 3) Instalar o binário do daemon (a unidade padrão usa /usr/local/bin/logirad)
sudo install -m 0755 ./logirad /usr/local/bin/logirad
# 4) (Recomendado) Apontar o systemd para os arquivos .o do eBPF via arquivo de ambiente.
# Isto evita depender do diretório de trabalho do serviço.
sudo mkdir -p /etc/logira
sudo tee /etc/logira/logirad.env >/dev/null <<'EOF'
LOGIRA_EXEC_BPF_OBJ=/caminho/absoluto/para/collector/linux/exec/trace_bpfel.o
LOGIRA_NET_BPF_OBJ=/caminho/absoluto/para/collector/linux/net/trace_bpfel.o
LOGIRA_FILE_BPF_OBJ=/caminho/absoluto/para/collector/linux/filetrace/trace_bpfel.o
EOF
# 5) Ativar + iniciar
sudo systemctl daemon-reload
sudo systemctl enable --now logirad
# Acompanhar logs
sudo journalctl -u logirad -f
# Verificar status
systemctl status logirad --no-pager
# Parar + desativar
sudo systemctl stop logirad
sudo systemctl disable --now logirad
Execute um agente sob auditoria como seu usuário normal (os eventos são salvos 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'
Execute Codex CLI:
./logira run -- codex --yolo "Update the README to be clearer and add examples."
Execute Claude Code CLI:
./logira run -- claude --dangerously-skip-permissions "Find and fix flaky tests."
Listar execuções:
./logira runs
Visualizar e explicar a última execução:
./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
Consultar eventos:
./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...>: executa um comando sob auditoria e salva automaticamente uma nova execuçãologira runs: lista execuções salvaslogira view [last|<run-id>]: painel da execução (use --raw para texto legado)logira query [last|<run-id>] [filtros...]: pesquisa eventos com saída em tabela específica por tipologira explain [last|<run-id>]: detecções agrupadas por padrão (--show-related, --drill)Regras:
internal/detect/rules/default_rules.yaml)logira run --rules <arquivo-yaml>examples/rules/README.md--watch está obsoleto apenas para compatibilidadeDiretório base padrão: ~/.logira (substituir: LOGIRA_HOME)
Cada execução é armazenada em:
~/.logira/
runs/<run-id>/
events.jsonl
index.sqlite
meta.json
Formato run-id: YYYYMMDD-HHMMSS-<ferramenta>
docs/jsonl.mddocs/sqlite.mddocs/rules.mddocs/development.mdlogirad deve rodar sob systemd para instalações normais).logira status).logirad esteja em execução; logira run em si não requer sudo.LOGIRA_EXEC_BPF_OBJ / LOGIRA_NET_BPF_OBJ / LOGIRA_FILE_BPF_OBJ.O instalador coloca:
/usr/local/bin/logira, /usr/local/bin/logirad/usr/local/lib/logira/bpf//etc/systemd/system/logirad.service/etc/logira/logirad.env (define LOGIRA_EXEC_BPF_OBJ, LOGIRA_NET_BPF_OBJ, LOGIRA_FILE_BPF_OBJ)Licença Apache 2.0. Veja LICENSE para detalhes.
Programas eBPF sob collector/linux/ são duplamente licenciados: Apache-2.0 OU GPL-2.0-only.
Isso garante compatibilidade com o kernel Linux ao carregar programas eBPF que exigem helpers apenas GPL.
git clean -fdxfind -deletemkfsterraform destroy