Перейти до вмісту

Машинний переклад. Авторитетним джерелом є англійська версія; перевірка носієм мови ще не виконана.

Посібники

Підключення eBPF спостерігача

Спостерігач на рівні ядра eBPF — некооперативна базова правда для файлового та мережевого вводу/виводу, яку жоден агент не може обійти.

Оновлено:

Спостерігач eBPF — це некооперативний спостерігач базової правди. Він приєднується до точок трасування системних викликів ядра та повідомляє файловий та мережевий ввід/вивід як ребра карти доступу, які жоден процес у просторі користувача не може обійти, вимкнути або спотворити. Де кооперативна телеметрія довіряє агенту повідомляти чесно, спостерігач не довіряє — він спостерігає за ядром, а не за агентом.

Для загальної моделі джерел та структури OLIVARES_SOURCES_CONFIG див. Підключення джерела. Для кооперативного шляху, який спостерігач доповнює, див. Підключення Claude Code.

Що він спостерігає

Спостерігач інструментує системні виклики на рівні ядра — open, read, write, connect, sendto, recvfrom та їхні варіанти — і генерує одне спостереження на кожну відповідну подію вводу/виводу. Класифікація читання/запису походить із самого системного виклику, а не з того, що стверджує агент, тому вона є авторитетною так само, як клас pgAudit READ/WRITE є авторитетним: ядро виконало операцію, отже операція відбулася.

Результат — потік ребер карти доступу, що атрибутують файловий та мережевий ввід/вивід до ідентичності процесу на хості. Ці ребра живлять ту ж карту доступу, що й кожне інше джерело.

Чому він існує

Кооперативна телеметрія — експорти OpenTelemetry, корисне навантаження хуків, інтроспекція MCP — є багатшою та вищого рівня, але вона кооперативна: агент є тим, хто її генерує. Агент, який вимикає свій експортер OTel, або середовище виконання, яке ніколи не мало його, не створює жодного кооперативного сигналу.

Спостерігач eBPF закриває цю прогалину. Агент, який припиняє експортувати телеметрію, все одно робить системні виклики; ядро все одно їх бачить; спостерігач все одно їх повідомляє. Це базова правда, на яку посилається документація Підключення Claude Code:

Базова правда для справді некооперативної діяльності — це ядерний/eBPF спостерігач, а не ця евристика.

Ця евристика — виявлення сесії, яка припиняє генерувати OTel, поки її хуки все ще спрацьовують — є аномальним сигналом на кооперативній стороні. Спостерігач робить некооперативну сторону спостережуваною.

Рівень покриття

Спостерігач має покриття рівня clean у моделі точності. Читання проти запису визначається з системного виклику, а не з того, що стверджує агент. Документація точності перелічує його поруч із pgAudit та CloudTrail: “базова правда на рівні ядра через eBPF.” Чисте покриття не означає чисту атрибуцію — див. обмеження нижче.

Коли використовувати його проти кооперативного спостереження

Вони компонуються; вони не замінюють одне одне.

  • Кооперативний (OTel, хуки, MCP) — контекст вищого рівня: сесії, інструменти, моделі, витрати. Багатша карта.
  • Некооперативний (eBPF) — гарантія антиобходу: що насправді сталося на рівні ядра, незалежно від того, що агент обрав повідомити.

Запускайте обидва. Кооперативний шлях будує багату карту, якою ви керуєте. Спостерігач забезпечує незмінний мінімум, який ловить все, що кооперативний шлях пропустив — обхід, помилкову конфігурацію або середовище виконання без телеметрії.

Модель розгортання

Спостерігач працює на кожному хості, де виконуються агенти, підключений до стандартного serve як тип джерела ebpf поруч із pgaudit, s3cloudtrail, runtime, mcp та claude. Оскільки програми eBPF приєднуються до ядра хоста, один екземпляр на хост покриває кожен процес агента. Немає кроку установки по кожному агенту.

Права Linux

Трасування eBPF вимагає підвищених привілеїв ядра. Як мінімум, процес, що завантажує програми eBPF, потребує можливостей із сімейства CAP_BPF та CAP_PERFMON (або еквівалент, залежно від версії ядра — старіші ядра об’єднують їх у CAP_SYS_ADMIN).

:::caution Точний набір можливостей залежить від версії ядра, дистрибутиву та модуля безпеки (AppArmor, SELinux). Перевірте власну документацію конектора для точних необхідних прапорців — ця сторінка не перелічує вичерпний набір, тому що він варіюється між середовищами. Запуск у контейнері вимагає явного надання можливостей (і можливо монтування файлової системи BPF); заблокований pod Kubernetes потребує перевизначень securityContext. :::

Конфігурація

Оберіть kind: "ebpf" у OLIVARES_SOURCES_CONFIG, використовуючи ту ж структуру запису джерела, що й для кожного іншого конектора:

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

Точні ключі конфігурації належать конектору; читайте його дескриптор, а не копіюйте неперевірену схему. Об’єкт config вище навмисно порожній — ця сторінка дотримується того ж правила, що й Підключення джерела: ми документуємо лише ключі, які ми перевірили, і ми не перевірили поверхню конфігурації конектора eBPF з цих веб-документів.

Властивості антиобходу

Спостерігач не залежить від кооперації агента:

  • Агент, який вимикає свій експортер OTel, все одно генерує системні виклики ядра — спостерігач їх бачить.
  • Агент, який бреше у своїй кооперативній телеметрії, не може збрехати ядру. Запис системного виклику є авторитетним.
  • MCP-сервер, який неправильно повідомляє readOnlyHint / destructiveHint, не впливає на те, що спостерігає спостерігач — це кооперативні сигнали, які він не споживає.

Евристика на кооперативній стороні в Підключення Claude Code — сесія, чий OTel затихає, поки хуки продовжують спрацьовувати — є сигналом виявлення. Спостерігач — це базова правда, на яку вказує цей сигнал.

Чесні обмеження

Спостерігач бачить те, що бачить ядро, а не те, що агент має намір. Ця відмінність має значення:

  • Атрибуція на рівні процесу. Ввід/вивід атрибутується до ідентичності процесу (PID, UID, шлях до бінарного файлу). Якщо кілька агентів спільно використовують один процес, спостерігач не може розділити їхні доступи — атрибуція є approximate, а не firm. Атрибуція по кожному агенту вимагає сигналу ідентифікації по кожному агенту; див. Точність.
  • Немає контексту сесії чи інструмента. Спостерігач бачить системні виклики, а не сесії або назви інструментів. Він не може сказати, який виклик інструмента спричинив запис у файл — лише що процес записав файл. Кооперативний шлях несе цей контекст.
  • Залежність від версії ядра. Доступність точок трасування eBPF варіюється між версіями ядра. Підтвердіть мінімальну версію ядра проти власної документації конектора.
  • Без вмісту корисного навантаження. Як і кожне джерело, спостерігач генерує ідентифікатори та класифікацію читання/запису, ніколи вміст файлів або мережевих пакетів.

Пов’язане

Пошук у документації