Перейти к содержимому

Продукт · Карта доступа

Увидьте, до чего может дотянуться каждый агент — чтение против записи

Для каждого агента, сессии и идентичности карта доступа показывает ресурсы, к которым он обращается, отделяет чтение от записи и фиксирует момент, когда наблюдаемый доступ расходится с тем, что вы разрешили. Обнаруживается пассивно из сигналов, которые у вас уже есть, — без прокси в пути данных.

В продукте

Карта прямо из реальной консоли

Настоящий скриншот консоли Olivares, заполненный примерными данными. Источники слева, ресурсы, к которым они обращаются, — справа, с цветовой кодировкой по чтению, записи/RW, неизвестному и приблизительному. Открытие карты — привилегированное, фиксируемое в аудите действие: оно показывает связи, но никогда SQL, полезную нагрузку или секреты.

Реальный скриншот
Агенты и сессии слева обращаются к базам данных, объектным хранилищам, API и интеграциям справа. Цвет связи кодирует чтение против чтения/записи; одна связь отмечена как неожиданная запись — отклонение от least-privilege.
Реальный скриншот
Переключитесь в режим «разрешённое против наблюдаемого», и карта сопоставит ваши разрешения с реальным доступом: что было наблюдаемо, но никогда не разрешено, и что было разрешено, но ни разу не использовалось.

Модель

Чтение, запись и честное «неизвестно»

Olivares классифицирует каждый доступ на коннекторе, по самому выражению или глаголу — типу SQL, методу HTTP, семантике инструмента MCP, режиму открытия файла. Он записывает связь, но никогда само выражение: ни текста SQL, ни параметров, ни полезной нагрузки, ни секретов.

Чтение

Агент, который только читает ресурс, — SELECT, GET, вызов инструмента только для чтения. Отрисован спокойно, в нейтральном тоне.

Чтение / Запись

Агент, способный изменять ресурс, — INSERT или UPDATE, инструмент записи, изменяющий вызов. Именно эти связи определяют радиус поражения.

Неизвестное · приблизительно

Там, где хранилище не предоставляет аудита по идентичностям или сигнал слаб, Olivares так и говорит — пунктирной, приглушённой связью — вместо того чтобы выдумывать уверенность.

Отклонение от least-privilege

Разрешённое против наблюдаемого — вывод, который имеет значение

Отклонение — это разрыв между доступом, который вы предоставили, и доступом, который происходит на самом деле. Olivares сверяет наблюдение, приписанное агенту, с идентичностью, которую этот агент действительно использует, и выводит три честных состояния.

  • Неожиданный доступ

    Наблюдается, но никогда не разрешался. Вывод высшего приоритета — доступ, который происходит без какого-либо разрешения за ним.

  • Ожидает сверки

    Наблюдается без соответствующего разрешения, но связь агента с идентичностью ещё не установлена. Выводится как ожидающее, а не как надёжно установленное нарушение — честная неопределённость, а не выдуманная тревога.

  • Неиспользуемые разрешения

    Разрешено, но ни разу не наблюдалось. Избыточные права, которые стоит ужать, — least privilege, но с обратной стороны.

Как это работает

От разрешений и наблюдений к единому вердикту

Olivares берёт то, что вы разрешили, и то, что он наблюдал, сверяет это по всем источникам и отображает результат: совпадение, отклонение или связь, которую он может лишь объявить, — но никогда ту, что притворяется увиденной.

Схема: разрешённые права и наблюдаемый доступ сопоставляются; совпадения подтверждаются, расхождения отмечаются как отклонение оранжевым, а объявленные, но ни разу не наблюдавшиеся связи рисуются пунктиром.
Разрешённое против наблюдаемого, сверенное по всем источникам. Пунктир означает объявленное, но ни разу не наблюдавшееся, — нарисованное честно, а не скрытое.

Покрытие, заявленное честно

Две оси достоверности — и мы не подделываем ни одну

Насколько хорошо ресурс поддаётся аудиту и насколько надёжно доступ привязывается к конкретному агенту — это две разные вещи. Olivares показывает обе для каждого узла и деградирует плавно, а не гадает.

Покрытие ресурса

Насколько полно сам ресурс поддаётся аудиту.

Чистое
Нативный аудит — Postgres pgAudit, AWS CloudTrail и подобные. Полная достоверность по каждому доступу.
С потерями
Документные и векторные хранилища: частичный сигнал, показанный как частичный — без округления вверх.
Непрозрачное
Redis, SQLite, D1 и им подобные не предоставляют аудита по идентичностям. Помечается как непрозрачное и никогда не повышается молча.

Атрибуция источника

Насколько надёжно доступ привязывается к конкретному агенту.

Надёжная
Выделенная нечеловеческая идентичность — учётные данные SPIFFE/WIF, выпускаемые для каждого агента. Отрисована сплошной линией.
Приблизительная
Общая или пуловая учётная запись: доступ реален, но агент неоднозначен. Отрисована пунктиром, с пометкой «приблизительно».
Неизвестная
Сигнала об идентичности нет вовсе. Приглушается — и никогда не повышается до именованного агента.

Эти две оси независимы: доступ к непрозрачному хранилищу всё равно может быть надёжно атрибутирован, если кооперирующий сигнал назвал агента. Чего Olivares делать не станет — так это отрисовывать приблизительное или неизвестное так, будто оно надёжно установлено.

Что реально

Создано и проверено — и честно о краях

Карта доступа прошла этап технического proof-of-concept и является источником записи графа. Две честные оговорки:

  • Открытие карты — привилегированное, фиксируемое в аудите действие: каждый запрос запечатывает запись в журнале только для добавления. Оно предназначено для защитного анализа — связи, а не содержимое.
  • Достоверность зависит от ваших источников. Подключите нативный аудит (pgAudit, CloudTrail) и идентичности для каждого агента — и карта максимально точна; без них Olivares показывает уровень с меньшей достоверностью, а не уверенную выдумку.

Карта доступа — вопросы

Нужен ли прокси или встраиваемый агент?

Нет. Olivares обнаруживает доступ пассивно из сигналов, которые у вас уже есть, — нативного аудита баз данных, облачных журналов аудита, OpenTelemetry, eBPF и интроспекции MCP. В пути данных нет обязательного прокси, и нет ничего, за чем нужно присматривать.

Хранит ли карта мой SQL, полезную нагрузку или секреты?

Нет. Каждый доступ классифицируется по глаголу — типу SQL, методу HTTP, семантике инструмента — и записывается как связь: источник, ресурс, чтение или запись. Текст выражения, параметры, полезная нагрузка и секреты никогда не захватываются.

Как быть с хранилищами без аудита по идентичностям, такими как Redis?

Они помечаются как непрозрачное покрытие. Olivares показывает связь с той достоверностью, которую действительно может доказать, и обозначает предел, а не выдумывает атрибуцию по идентичности, которую хранилище не способно поддержать.

Как он отличает чтение от чтения/записи?

По самому выражению или глаголу, классифицируемому на коннекторе, — SELECT против INSERT или UPDATE, GET против изменяющего метода, вызов инструмента только для чтения против вызова с записью. Цвет связи следует за этим: чтение, запись/RW или неизвестно, когда сигнал слаб.

Увидьте собственную карту доступа

Разверните Olivares на собственной инфраструктуре, направьте его на свои источники аудита и получите карту чтения/записи, которую так давно просят ваши команды платформы и безопасности.