Przejdź do treści

Tłumaczenie maszynowe. Wersja angielska jest wiążąca; weryfikacja przez native speakera jeszcze nie nastąpiła.

Poradniki

Podlacz backstop eBPF

Obserwator na poziomie jadra eBPF — niekooperacyjna prawda bazowa dla plikowego i sieciowego I/O, ktorej zaden agent nie moze uniknac.

Ostatnia aktualizacja:

Backstop eBPF to niekooperacyjny obserwator prawdy bazowej. Podlacza sie do punktow sledzenia syscall jadra i raportuje plikowe i sieciowe I/O jako krawedzie mapy dostepu, ktorych zaden proces uzytkownika nie moze uniknac, wylaczyc ani znieksztalcic. Tam, gdzie kooperacyjna telemetria ufa agentowi w uczciwym raportowaniu, backstop tego nie robi — obserwuje jadro, nie agenta.

Dla ogolnego modelu zrodel i struktury OLIVARES_SOURCES_CONFIG zobacz Podlacz zrodlo. Dla sciezki kooperacyjnej, ktora backstop uzupelnia, zobacz Podlacz Claude Code.

Co obserwuje

Backstop instrumentuje syscalle na poziomie jadra — open, read, write, connect, sendto, recvfrom i ich warianty — i emituje jedna obserwacje na istotne zdarzenie I/O. Klasyfikacja odczyt/zapis pochodzi z samego syscalla, nie z tego, co agent twierdzi, wiec jest autorytatywna w ten sam sposob, w jaki klasa READ/WRITE pgAudit jest autorytatywna: jadro wykonalo operacje, wiec operacja nastapila.

Wynikiem jest strumien krawedzi mapy dostepu przypisujacych plikowe i sieciowe I/O do tozsamosci procesu na hoscie. Te krawedzie karmi ta sama mape dostepu co kazde inne zrodlo.

Dlaczego istnieje

Kooperacyjna telemetria — eksporty OpenTelemetry, ladunki hookow, introspekcja MCP — jest bogatsza i wyzszego poziomu, ale jest kooperacyjna: agent jest tym, ktory ja emituje. Agent, ktory wylaczy swoj eksporter OTel, lub runtime, ktory nigdy go nie mial, nie produkuje zadnego kooperacyjnego sygnalu.

Backstop eBPF zamyka te luke. Agent, ktory przestaje eksportowac telemetrie, nadal wykonuje syscalle; jadro nadal je widzi; backstop nadal je raportuje. To prawda bazowa, do ktorej odwoluje sie dokument Podlacz Claude Code:

Prawda bazowa dla prawdziwie niekooperacyjnej aktywnosci to backstop jadra/eBPF, nie ta heurystyka.

Ta heurystyka — wykrywanie sesji, ktora przestaje emitowac OTel podczas gdy jej hooki nadal strzelaja — to sygnal anomalii po stronie kooperacyjnej. Backstop czyni strone niekooperacyjna obserwowalna.

Poziom pokrycia

Backstop jest na poziomie clean w modelu wiernosci. Odczyt vs zapis jest okreslany z syscalla, nie z tego, co agent twierdzi. Dokument wiernosci wymienia go obok pgAudit i CloudTrail: “prawda bazowa z poziomu jadra eBPF.” Czyste pokrycie nie implikuje czystej atrybucji — zobacz ograniczenia ponizej.

Kiedy go uzywac vs obserwacja kooperacyjna

Skladaja sie; nie zastepuja sie nawzajem.

  • Kooperacyjna (OTel, hooki, MCP) — kontekst wyzszego poziomu: sesje, narzedzia, modele, koszty. Bogatsza mapa.
  • Niekooperacyjna (eBPF) — gwarancja anty-unikania: co faktycznie sie wydarzylo na poziomie jadra, niezaleznie od tego, co agent zdecydowal sie raportowac.

Uruchom oba. Sciezka kooperacyjna buduje bogata mape, wobec ktorej zarzadzasz. Backstop zapewnia niesfalszowalna podloge, ktora wychwytuje cokolwiek sciezka kooperacyjna opuscila — unikanie, bledna konfiguracje lub runtime bez telemetrii.

Model wdrozenia

Backstop dziala na kazdym hoscie, gdzie agenci sie wykonuja, podlaczony do standardowego serve jako rodzaj zrodla ebpf obok pgaudit, s3cloudtrail, runtime, mcp i claude. Poniewaz programy eBPF podlaczaja sie do jadra hosta, jedna instancja na host obejmuje kazdy proces agenta. Nie ma kroku instalacji per-agent.

Uprawnienia Linux

Sledzenie eBPF wymaga podwyzszonych uprawnien jadra. Minimum, proces ladujacy programy eBPF potrzebuje uprawnien z rodziny CAP_BPF i CAP_PERFMON (lub rownowaznych, w zaleznosci od wersji jadra — starsze jadra skladaja je w CAP_SYS_ADMIN).

:::caution Dokladny zbior uprawnien zalezy od wersji jadra, dystrybucji i modulu bezpieczenstwa (AppArmor, SELinux). Sprawdz wlasna dokumentacje konektora pod katem dokladnych wymaganych flag — ta strona nie wymienia definitywnego zbioru, poniewaz rozni sie w zaleznosci od srodowiska. Uruchomienie w kontenerze wymaga jawnych nadan uprawnien (i prawdopodobnie montowania systemu plikow BPF); zablokowany pod Kubernetes potrzebuje nadpisania securityContext. :::

Konfiguracja

Wybierz kind: "ebpf" w OLIVARES_SOURCES_CONFIG, uzywajac tej samej struktury wpisu zrodla co kazdy inny konektor:

{
  "sources": [
    {
      "name": "host-backstop",
      "kind": "ebpf",
      "tenant": "acme",
      "config": {}
    }
  ]
}

Dokladne klucze konfiguracji sa wlasnoscia konektora; czytaj jego deskryptor zamiast kopiowac niezweryfikowany schemat. Obiekt config powyzej jest celowo pusty — ta strona podaza za ta sama regula co Podlacz zrodlo: dokumentujemy tylko klucze, ktore zweryfikowalismy, a nie zweryfikowalismy powierzchni konfiguracji konektora eBPF z tych dokumentow webowych.

Wlasciwosci anty-unikania

Backstop nie zalezy od wspolpracy agenta:

  • Agent, ktory wylaczy swoj eksporter OTel, nadal generuje syscalle jadra — backstop je widzi.
  • Agent, ktory klamie w swojej kooperacyjnej telemetrii, nie moze oklamac jadra. Rekord syscall jest autorytatywny.
  • Serwer MCP, ktory blednie raportuje readOnlyHint / destructiveHint, nie wplywa na to, co backstop obserwuje — to kooperacyjne sygnaly, ktorych nie konsumuje.

Heurystyka po stronie kooperacyjnej w Podlacz Claude Code — sesja, ktorej OTel milknie, podczas gdy hooki nadal strzelaja — to sygnal detekcji. Backstop to prawda bazowa, na ktora ten sygnal wskazuje.

Uczciwe ograniczenia

Backstop obserwuje to, co jadro widzi, nie to, co agent zamierza. To rozroznienie ma znaczenie:

  • Atrybucja jest na poziomie procesu. I/O jest przypisywany do tozsamosci procesu (PID, UID, sciezka pliku binarnego). Jesli wielu agentow dzieli jeden proces, backstop nie moze rozdzielic ich dostepow — atrybucja jest approximate, nie firm. Atrybucja per-agent wymaga sygnalu tozsamosci per-agent; zobacz Wiernosc.
  • Brak kontekstu sesji lub narzedzia. Backstop widzi syscalle, nie sesje ani nazwy narzedzi. Nie moze ci powiedziec ktore wywolanie narzedzia wyzwolilo zapis pliku — tylko ze proces zapisal plik. Sciezka kooperacyjna niesie ten kontekst.
  • Zaleznosc od wersji jadra. Dostepnosc punktow sledzenia eBPF rozni sie w zaleznosci od wersji jadra. Potwierdz minimalna wersje jadra wobec wlasnej dokumentacji konektora.
  • Brak tresci ladunku. Jak kazde zrodlo, backstop emituje identyfikatory i klasyfikacje odczyt/zapis, nigdy tresci plikow ani ladunkow sieciowych.

Powiazane

Wyszukiwanie w dokumentacji