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, niefirm. 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
- Podlacz zrodlo — ogolny model zrodel i plik konfiguracji.
- Podlacz Claude Code — sciezka kooperacyjna, ktora backstop uzupelnia.
- Pokrycie i wiernosc atrybucji — osie clean/lossy/opaque i firm/approximate/unknown.
- Mapa dostepu — co te obserwacje buduja.