Saltar para o conteúdo

Guias

Ligar o backstop eBPF

O observador eBPF ao nível do kernel — verdade fundamental não cooperativa para I/O de ficheiros e rede que nenhum agente pode evadir.

Atualizado:

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 / destructiveHint nã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ão firm. 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

Pesquisar documentação