Tracee é uma ferramenta de segurança em tempo de execução e perícia baseada em eBPF de código aberto da Aqua Security. Ele usa eBPF para rastrear eventos do sistema operacional — syscalls, atividade de processo e rede, operações em arquivos — no nível do kernel com baixa sobrecarga, depois aplica uma biblioteca de assinaturas comportamentais para detectar atividade suspeita ou maliciosa em tempo de execução. É construído para hosts Linux, contêineres e Kubernetes, e é um complemento forte para Falco e Tetragon no espaço de segurança em tempo de execução baseado em eBPF.
Requisitos
- Linux kernel ≥ 5.4 (suporte BTF / CO-RE recomendado; maioria das distros modernas)
- Root / contêiner privilegiado (eBPF requer capacidades elevadas)
Instalação
| Método | Comando |
|---|
| Docker (mais rápido) | docker run --name tracee -it --rm --pid=host --cgroupns=host --privileged -v /etc/os-release:/etc/os-release-host:ro aquasec/tracee:latest |
| Kubernetes (Helm) | helm repo add aqua https://aquasecurity.github.io/helm-charts/ && helm install tracee aqua/tracee -n tracee --create-namespace |
| Binário | baixe do GitHub Releases, execute sudo ./tracee |
| Verificar | tracee version |
Uso Básico
| Comando | Descrição |
|---|
sudo tracee | Inicie o rastreamento com assinaturas de detecção padrão |
sudo tracee --output json | Emita eventos como JSON |
sudo tracee --scope comm=nginx | Rastreie apenas um processo específico |
sudo tracee --events execve,open | Rastreie eventos específicos |
tracee --help | Lista completa de opções |
Seleção de Eventos (--events)
| Seletor | Corresponde |
|---|
--events execve | Execuções de processo |
--events open,openat | Aberturas de arquivo |
--events net_packet_dns | Tráfego DNS |
--events security_file_open | Hook de abertura de arquivo LSM |
--events 'fs' | Um conjunto inteiro de eventos (sistema de arquivos) |
--events 'signatures' | Apenas detecções de assinatura |
--events execve.args.pathname=/usr/bin/* | Filtro por valor de argumento |
Filtragem de Escopo (--scope)
| Seletor | Corresponde |
|---|
--scope comm=bash | Por nome de comando |
--scope pid=1234 | Por PID |
--scope container | Apenas eventos de contêiner |
--scope container=new | Apenas contêineres iniciados recentemente |
--scope uid=0 | Atividade root |
--scope pid=new | Processos recém-criados |
--scope not-container | Apenas eventos de host |
Assinaturas de Detecção
Tracee vem com assinaturas comportamentais (Go e Rego) que sinalizam técnicas de ataque conhecidas.
| Detecção de exemplo | Técnica |
|---|
| Anti-debugging | Evasão via ptrace |
| Carregamento dinâmico de código | Payloads residentes em memória |
| LD_PRELOAD | Injeção de biblioteca |
| Escalação de privilégio | Abuso de setuid/capacidades |
| Fuga de contêiner | Acesso a namespace/host |
| Carregamento de módulo do kernel | Instalação de rootkit |
| Comando | Descrição |
|---|
sudo tracee --events signatures | Execute apenas assinaturas de detecção |
--rego- flags | Carregue assinaturas Rego personalizadas |
--signatures-dir DIR | Carregue assinaturas de um diretório |
Saída e Captura
| Opção | Descrição |
|---|
--output json | Eventos JSON (envie para um SIEM) |
--output table | Tabela legível para humanos |
--output gotemplate=FILE.tmpl | Saída com template personalizado |
--capture exec | Capture binários executados para disco |
--capture mem | Capture regiões de memória (perícia) |
--capture net | Capture tráfego de rede por evento |
--output forward:tcp://host:port | Encaminhe eventos para um coletor |
Fluxos de Trabalho Comuns
# Observe apenas a atividade de contêiner, JSON para um SIEM
sudo tracee --scope container --output json | tee tracee-events.json
# Detecte ameaças apenas (assinaturas), saída de tabela
sudo tracee --events signatures --output table
# Investigue um processo específico e capture binários executados
sudo tracee --scope comm=suspicious --capture exec
# Identifique DNS feito por novos contêineres (caça de exfiltração)
sudo tracee --scope container=new --events net_packet_dns
Tracee vs Falco vs Tetragon
| Aspecto | Tracee | Falco | Tetragon |
|---|
| Engine | eBPF (Aqua) | eBPF (CNCF) | eBPF (Cilium) |
| Foco | Perícia + detecção + captura | Alerta/detecção | Observabilidade + imposição em kernel |
| Imposição | Focado em detecção | Detecção | Sim (matar/sobrescrever) |
| Captura forense | Forte (exec/mem/net) | Limitada | Focado em evento |
| Melhor para | Perícia de ameaças e captura | Biblioteca de regras madura | Prevenção + visibilidade profunda |
Recursos