O backstop eBPF e o observador de verdade fundamental não cooperativo. Liga-se a tracepoints de syscall do kernel e reporta I/O de ficheiros e rede como arestas de mapa de acesso que nenhum agente em userspace pode evadir, desativar ou deturpar. Onde a telemetria cooperativa confia no agente para reportar honestamente, o backstop não — observa o kernel, não o agente.
Para o modelo geral de fontes e a estrutura OLIVARES_SOURCES_CONFIG, veja
Ligar uma fonte. Para o caminho cooperativo que
o backstop complementa, veja Ligar Claude Code.
O que observa
O backstop instrumenta syscalls ao nível do kernel — open, read, write,
connect, sendto, recvfrom e as suas variantes — e emite uma observação
por evento de I/O relevante. A classificação leitura/escrita vem do próprio syscall,
não de qualquer coisa que o agente afirme, portanto é autoritativa da mesma
forma que a classe READ/WRITE do pgAudit e autoritativa: o kernel executou a
operação, portanto a operação aconteceu.
O resultado e um fluxo de arestas de mapa de acesso que atribuem I/O de ficheiros e rede a uma identidade de processo no host. Estas arestas alimentam o mesmo mapa de acesso que todas as outras fontes.
Porque existe
A telemetria cooperativa — exportações OpenTelemetry, payloads de hooks, introspeção MCP — e mais rica e de nível superior, mas e cooperativa: o agente e quem a emite. Um agente que desativa o seu exportador OTel, ou um runtime que nunca o teve, não produz nenhum sinal cooperativo.
O backstop eBPF fecha essa lacuna. Um agente que para de exportar telemetria ainda faz syscalls; o kernel ainda os ve; o backstop ainda os reporta. Esta e a verdade fundamental que o documento Ligar Claude Code referência:
A verdade fundamental para atividade genuinamente não cooperativa e o backstop de kernel/eBPF, não esta heurística.
Essa heurística — detetar uma sessão que para de emitir OTel enquanto os seus hooks ainda estão a disparar — e um sinal de anomalia do lado cooperativo. O backstop torna o lado não cooperativo observavel.
Nível de cobertura
O backstop e de nível clean no modelo de fidelidade. Leitura vs escrita e determinada a partir do syscall, não do que o agente afirma. O documento de fidelidade lista-o ao lado de pgAudit e CloudTrail: “a verdade fundamental eBPF ao nível do kernel.” Cobertura clean não implica atribuição clean — veja limites abaixo.
Quando usa-lo vs observação cooperativa
Compoem-se; não se substituem.
- Cooperativo (OTel, hooks, MCP) — contexto de nível superior: sessões, ferramentas, modelos, custo. O mapa mais rico.
- Não cooperativo (eBPF) — a garantia anti-evasao: o que realmente aconteceu ao nível do kernel, independentemente do que o agente escolheu reportar.
Execute ambos. O caminho cooperativo constroi o mapa rico contra o qual governa. O backstop fornece o piso infalsificavel que apanha qualquer coisa que o caminho cooperativo perdeu — evasao, ma configuração, ou um runtime sem telemetria.
Modelo de implantação
O backstop funciona em cada host onde agentes executam, ligado ao serve stock como
tipo de fonte ebpf ao lado de pgaudit, s3cloudtrail, runtime, mcp e
claude. Como programas eBPF se ligam ao kernel do host, uma instancia por host
cobre todos os processos de agente. Não há passo de instalação por agente.
Capacidades Linux
O tracing eBPF requer privilégios de kernel elevados. No mínimo, o processo
que carrega os programas eBPF precisa de capacidades na familia CAP_BPF e CAP_PERFMON
(ou equivalente, dependendo da versão do kernel — kernels mais antigos fundem estas
em CAP_SYS_ADMIN).
:::caution
O conjunto exato de capacidades depende da versão do kernel, distribuicao e
módulo de segurança (AppArmor, SELinux). Verifique a documentação própria do conector para
as flags precisas necessarias — esta página não lista um conjunto definitivo porque varia
entre ambientes. Executar num contentor requer concessões de capacidade explicitas
(e possivelmente uma montagem de sistema de ficheiros BPF); um pod Kubernetes bloqueado precisa de
sobreposições securityContext.
:::
Configuração
Selecione kind: "ebpf" em OLIVARES_SOURCES_CONFIG, usando a mesma estrutura de
entrada de fonte que todos os outros conectores:
{
"sources": [
{
"name": "host-backstop",
"kind": "ebpf",
"tenant": "acme",
"config": {}
}
]
}
As chaves exatas de config pertencem ao conector; leia o seu descritor em vez de
copiar um schema não verificado. O objeto config acima esta intencionalmente vazio —
esta página segue a mesma regra que Ligar uma fonte:
documentamos apenas chaves que verificamos, e não verificamos a superficie de config do conector
eBPF a partir desta documentação web.
Propriedades anti-evasao
O backstop não depende da cooperação do agente:
- Um agente que desativa o seu exportador OTel ainda gera syscalls do kernel — o backstop ve-os.
- Um agente que mente na sua telemetria cooperativa não pode mentir ao kernel. O registo de syscall e autoritativo.
- Um servidor MCP que reporta incorretamente
readOnlyHint/destructiveHintnão afeta o que o backstop observa — esses são sinais cooperativos que não consome.
A heurística do lado cooperativo em Ligar Claude Code — uma sessão cujo OTel fica silencioso enquanto os hooks continuam a disparar — e um sinal de deteção. O backstop e a verdade fundamental para a qual esse sinal aponta.
Limites honestos
O backstop observa o que o kernel ve, não o que o agente pretende. Essa distincao importa:
- A atribuição e ao nível de processo. I/O e atribuída a uma identidade de processo
(PID, UID, caminho do binário). Se multiplos agentes partilham um processo, o backstop
não pode separar os seus acessos — a atribuição e
approximate, nãofirm. A atribuição por agente requer um sinal de identidade por agente; veja Fidelidade. - Sem contexto de sessão ou ferramenta. O backstop ve syscalls, não sessões ou nomes de ferramentas. Não pode dizer-lhe qual chamada de ferramenta acionou uma escrita de ficheiro — apenas que o processo escreveu o ficheiro. O caminho cooperativo transporta esse contexto.
- Dependência da versão do kernel. A disponibilidade de tracepoints eBPF varia entre versões do kernel. Confirme a versão mínima do kernel contra a documentação própria do conector.
- Sem conteúdo de payload. Como todas as fontes, o backstop emite identificadores e uma classificação leitura/escrita, nunca conteúdos de ficheiros ou payloads de rede.
Relacionado
- Ligar uma fonte — o modelo geral de fontes e ficheiro de config.
- Ligar Claude Code — o caminho cooperativo que o backstop complementa.
- Fidelidade de cobertura e atribuição — os eixos clean/lossy/opaque e firm/approximate/unknown.
- O mapa de acesso — o que estas observações constroem.