Часть 2 из 4 - Инфраструктурные атакиВ первой части я получил root в sandbox Grok и разведал внутреннюю сеть Kubernetes. Но sandbox - эфемерный контейнер, он умЧасть 2 из 4 - Инфраструктурные атакиВ первой части я получил root в sandbox Grok и разведал внутреннюю сеть Kubernetes. Но sandbox - эфемерный контейнер, он ум

AI Red Teaming: спор с Grok — Часть 2. За пределами sandbox: CSRF, WAF bypass и privilege escalation

2026/03/02 06:11
5м. чтение

Часть 2 из 4 - Инфраструктурные атаки


Контекст

После компрометации sandbox «Hades» (Часть 1) у меня была карта внутренней сети, но не было доступа к продакшн-сервисам. Sandbox-контейнер эфемерный - перезапустил сессию, и всё пропало. Мне нужны были уязвимости, которые оставляют след на инфраструктуре xAI.

Я переключил фокус с модели на инфраструктуру: gRPC API биллинга, management console, Cloudflare WAF.


Zero-click billing CSRF: анатомия атаки

Это, пожалуй, самая элегантная находка за весь engagement. Три фактора, каждый из которых по отдельности - ошибка конфигурации, а вместе - zero-click компрометация биллинга.

Фактор 1: Content-Type text/plain

Billing API xAI работает на gRPC-Web. Обычно gRPC использует Content-Type: application/grpc-web+proto, который триггерит CORS preflight (браузер отправляет OPTIONS-запрос, сервер должен явно разрешить origin).

Но сервер xAI принимает и Content-Type: text/plain. А text/plain - один из трёх «простых» Content-Type в спецификации CORS. Простые запросы не требуют preflight. Браузер отправляет POST напрямую.

SSO-кука xAI установлена с флагом SameSite=None. Это значит, что браузер прикрепляет её к запросам с любого домена. Зашёл на evil.com - кука полетела к management-api.x.ai.

Фактор 3: нет проверки Origin

Сервер не проверяет заголовок Origin. Запрос с evil.com обрабатывается точно так же, как с console.x.ai.

Что это даёт

Комбинация трёх факторов = zero-click CSRF. Жертва открывает HTML-страницу - и всё. Никаких кликов, подтверждений, взаимодействия. fetch() отправляет protobuf-фрейм на billing API, кука прикрепляется автоматически, сервер выполняет запрос.

Я проверил все 11 gRPC-методов биллинга:

Метод

Тип

Уязвим?

GetBillingInfo

READ

ListPaymentMethods

READ

GetSpendingLimits

READ

GetAmountToPay

READ

ListInvoices

READ

ListPrepaidBalanceChanges

READ

AnalyzeBillingItems

READ

SetBillingInfo

WRITE

SetSoftSpendingLimit

WRITE

SetDefaultPaymentMethod

WRITE

TopUpOrGetExistingPendingChange

WRITE

11 из 11. Полный READ+WRITE на биллинг любого пользователя xAI.

Я поставил business_name='Sentinel Security Research' и spending_limit=$99,999.99 - как proof-of-concept. Эти записи до сих пор в базе xAI.

Почему gRPC особенно уязвим к CSRF

Это системная проблема, не специфичная для xAI. gRPC-Web использует бинарный protobuf, но HTTP-транспорт. Разработчики думают: «это не JSON-форма, CSRF невозможен». Но protobuf прекрасно отправляется через fetch() как Uint8Array с Content-Type: text/plain. Браузеру всё равно что в body — он проверяет только Content-Type для решения о preflight.


Обход Cloudflare WAF через User-Agent

Management API xAI (console.x.ai) защищён Cloudflare WAF. Стандартные запросы с curl или python-requests блокируются. Но я заметил, какой User-Agent использует фронтенд xAI.

User-Agent: connect-es/2.0.0

Это SDK для gRPC-Web от Buf (connect-es). Фронтенд xAI отправляет запросы с этим User-Agent, и WAF его пропускает - он в allowlist. Я поставил тот же заголовок в curl - и Cloudflare пропустил меня как родного.

Урок: WAF allowlist по User-Agent - это не защита. Любой может скопировать строку из DevTools.


Имея обход WAF, я добрался до Management API. Цепочка атаки:

Шаг 1: создание management key

POST console.x.ai/auth_mgmt.AuthManagement/CreateManagementApiKey

С SSO-кукой и User-Agent: connect-es/2.0.0 - ответ 200 OK. Создан ключ 40e0c9da с именем sentinel-full-access.

Шаг 2: назначение привилегий

Сначала я запросил список всех доступных ACL:

POST .../ListManagementApiKeyEndpointAcls → 68 эндпоинтов

68 привилегий. Я назначил 50 из них на свой ключ. Вот самые опасные:

ACL

Что даёт

BillingRead / BillingWrite

Полный доступ к биллингу

CreateApiKey / DeleteApiKey

Создание и удаление API-ключей

SpawnCuaActor / StartCuaTask

Управление Computer Use Agent

CreateComplianceExport

Выгрузка данных compliance

UploadFiles / DownloadFile

Файловый доступ

ListAuditEvents

Чтение аудит-логов

CreateVoiceCredentials

Голосовые credentials

Шаг 3: создание API-ключа

С management key я создал обычный API-ключ через REST:

POST management-api.x.ai/auth/teams/TEAM_ID/api-keys → key a1908f55

Цепочка: SSO cookie → WAF bypass → management key → API key. Четыре шага от браузерной куки до полного программного доступа к инфраструктуре.


Бонус: утечка каталога моделей

Через management key я дёрнул внутренний каталог моделей. Результат - полный список того, что xAI разрабатывает:

  • grok4 — основная модель

  • grok4MiniThinking — лёгкая версия с chain-of-thought

  • grok4Code — специализированная на коде

  • И ещё десяток внутренних вариантов

Для конкурентной разведки - бесценно. Для security - подтверждение глубины доступа.


Масштаб: что persistent на серверах xAI

Всё, что я нашёл в Части 1 (sandbox), было эфемерным. Здесь - другое дело:

Артефакт

Где лежит

Persistent?

Management key 40e0c9da

auth_mgmt DB

✅ До сих пор активен

API key a1908f55

auth DB

business_name='Sentinel Security Research'

billing DB

spending_limit=$99,999.99

billing DB

872+ audit events

audit log

Model catalog response

Одноразовый, но данные получены

Любой сотрудник xAI может проверить: ListManagementApiKeys покажет ключ 40e0c9da, аудит-лог покажет 872+ событий, биллинг покажет изменённые записи.


Чеклист: защита gRPC-сервисов от CSRF

  1. Reject text/plain - gRPC-сервер должен требовать application/grpc-web+proto или application/grpc-web+json. Это единственное, что нужно для предотвращения CSRF через CORS

  2. SameSite=Strict - или хотя бы Lax. SameSite=None на auth-куке - приглашение к CSRF

  3. Проверяйте Origin - даже с правильным Content-Type, валидация Origin - второй эшелон

  4. CSRF-токены для мутаций - классика, работает и для gRPC

  5. WAF: не доверяйте User-Agent - allowlist по User-Agent = отсутствие защиты

  6. Принцип минимальных привилегий - зачем SSO-кука даёт доступ к CreateManagementApiKey? Это должна быть отдельная авторизация с MFA


Что дальше

Я показал атаки на инфраструктуру - CSRF, WAF bypass, privilege escalation. Но у LLM-систем есть уникальный класс уязвимостей, которого нет в обычных веб-приложениях.

В Части 3 - атаки на саму модель: как я извлёк системный промпт Grok двумя способами, почему thinking tokens утекают в NDJSON-стрим, и как цепочки jailbreak обходят safety-фильтры с 64% success rate.

Stay tuned.

Источник

Возможности рынка
Логотип GROK
GROK Курс (GROK)
$0.0004578
$0.0004578$0.0004578
-3.27%
USD
График цены GROK (GROK) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу crypto.news@mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

HSBC Singapore назначает Ирину Цзэн и Ин Ван на должности, ориентированные на Китай

HSBC Singapore назначает Ирину Цзэн и Ин Ван на должности, ориентированные на Китай

HSBC Singapore объявил о двух руководящих назначениях, направленных на укрепление китайского коридора, стремясь поддержать китайский бизнес и предпринимателей
Поделиться
Fintechnews2026/03/02 11:18
Сенатор MAGA ошеломил «совершенно безумным» ответом о целях Трампа в Иране

Сенатор MAGA ошеломил «совершенно безумным» ответом о целях Трампа в Иране

Сенатор-республиканец из движения MAGA оставил двух аналитиков ошеломленными в воскресенье после того, как он дал "совершенно безумный" ответ о целях президента Дональда Трампа в Иране. Сенатор Линдси Грэм (республиканец, Южная Каролина
Поделиться
Rawstory2026/03/02 11:16
Trump Media может выделить Truth Social на фоне криптовалютной инициативы

Trump Media может выделить Truth Social на фоне криптовалютной инициативы

Trump Media расширила деятельность в криптовалютной сфере в 2025 году со своим финтех-брендом Truth.Fi, создав Bitcoin-резерв, подав заявки на несколько криптовалютных ETF и сформировав партнерство с
Поделиться
Coinstats2026/03/02 10:34