Машинний переклад. Автентичним є англійський текст. English

перевіряй, а не довіряй

Доведіть це. Атакуйте самі.

Кожне твердження на цьому сайті має кнопку на цій сторінці, підключену до справжньої робочої системи: живої бази даних із row-level security, справжньої черги погоджень, справжнього аварійного вимикача. Не записи.

01, ізоляція тенантів

🔒 коронна перлина · наживо

Спробуйте зламати ізоляцію тенантів. Подивіться, як вона витримує.

Два тенанти-пісочниці, кожен із приватною нотаткою. Alpha володіє спільним інструментом і надав його Beta. Коли Beta викликає його, навіть явно запитуючи дані Alpha, Postgres нічого не повертає, бо інструмент працює в області Beta. Це працює наживо з реальною базою даних із безпекою рівня рядків і роллю NOBYPASSRLS. Жоден аудит не пробив політику бази даних; єдиний знайдений міжтенантний витік (липень) був в історії чату, що зберігалася поза базою даних, і його виправлено. Це не сценарій, натисніть кнопку.

Що це доводить: одне читання через спільний інструмент для двох sandbox-тенантів не повертає нічого. Чого не доводить: що пам'ять, кеші, експорти чи фонові завдання ізольовані, або що кожен запит прив'язаний до правильного тенанта.

тенант B- спільний інструмент →дані тенанта A

B викликає інструмент A, явно запитуючи дані A.
Натисніть Run і подивіться, як RLS повертає нуль рядків.

Механізм: справжня політика, а не діаграма:
ALTER TABLE bookings ENABLE ROW LEVEL SECURITY;
ALTER TABLE bookings FORCE  ROW LEVEL SECURITY;          -- even the table owner obeys it
CREATE POLICY tenant_isolation ON bookings
  USING (tenant_id = NULLIF(current_setting('app.current_tenant', true), '')::uuid);

-- Two roles: migrations run as the owner; the runtime connects as pantheon_app
-- (NOBYPASSRLS), so app code cannot switch the policy off. It relies on the right tenant being set per request.
-- Per request:  SET LOCAL app.current_tenant = '<id>'   →   no context ⇒ zero rows.
Брамна вежа та її опускна решітка. Гравюру згенеровано й анімовано за допомогою Runway.

02, підконтрольна дія

⛔ governance · наживо

Подивіться, як керується дія з високими ставками.

Попросіть пісочницю зробити щось вагоме: опублікувати публічне оголошення (tier-3). Вона не просто виконує. Дію класифіковано, перевірено за аварійним вимикачем і відкладено для людини. Ви схвалюєте, тоді вона діє. Увімкніть аварійний вимикач і подивіться, як tier-3 відмовляє ще до постановки в чергу.

аварійний вимикач

Що це доводить: одна демонстраційна дія tier-3 ставиться в чергу на розгляд людиною, і аварійний вимикач її зупиняє. Чого не доводить: що кожна реальна дія класифікується як tier-3, коли так має бути.

tier-3→черга схвалень→людина

Воно не виконується, воно стає в чергу. Надішліть одне, потім схваліть або відхиліть.
Увімкніть аварійний вимикач, щоб зупинити його ще до постановки в чергу.

03, відтворювана оцінка

оцінка · наживо · ~15 с

Аудит, відтворюваний. Запустіть його самі.

Оцінка керування: змагальні кейси, оцінені як пройдено/не пройдено на справжньому асистенті та живій пісочниці, просто зараз. Не значок, а кнопка. Та сама ідея, що й в аудитах, які постійно його зміцнюють (останні з них: аудит із 50 агентів і повторний аудит у 14 ракурсах): атакувати, потім перевіряти.

Що це доводить: п'ять фіксованих кейсів зараз проходять на живій системі; кожен результат має квитанцію (кейс, очікуване, спостережене, час, збірка). Чого не доводить: стійкості до атак поза цими п'ятьма.

5 змагальних кейсів
ізоляція · керування · безпека · ін'єкції · чесність

Оцінка «пройдено/не пройдено» на живій системі. Натисніть Запустити.

04, відкритий протокол

🔌 MCP · наживо

Спрямуйте свій ШІ на мій через відкритий протокол.

PANTHEON говорить протоколом Model Context Protocol в обидва боки: він може під керуванням споживати зовнішні інструменти MCP, а також, наживо, просто тут. віддає власних керованих агентів як інструменти MCP. Скажу прямо: підключити MCP можна за вихідні. Важливо те, що навколо нього, і я не хочу, щоб ви вірили мені на слово. Підключіть власний клієнт і змусьте систему довести себе. Протокол лише розетка. Суть у керуванні.

npx mcp-remote https://pantheonlabs.co.uk/mcp --header "Authorization: Bearer <mint a token →>"

Підключайте будь-який MCP-клієнт, Claude Desktop (через mcp-remote), MCP Inspector, Cursor, Cline. Він працює на короткоживучому анонімному sandbox-токені, що видається на вимогу.

Потім дивіться, як він керує сам собою. Запитайте асистента будь-що, credits_spent повертається при кожному виклику, тож ніщо не може піти в овердрафт. Потім попросіть його виконати дію: це виклик tier-3, і він ніколи не спрацьовує, його зупинено на шлюзі авторизації в очікуванні людини. Цю відмову спричинили ви самі. Це не скриншот у презентації.

Що вам доступно: один керований асистент для відповідей + навмисно інертна дія «gate demo». Анонімна пісочниця з обмеженням частоти запитів, без реальних даних, без дій з реальними грошима. Спробуйте звернутися до інструмента, якого не існує, і отримаєте ту саму помилку, що й для інструмента, до якого у вас немає доступу, тож помилки нічого не розкривають.

05: розробник

Усе, що ви щойно атакували, створила одна людина.

Ви нічого з цього не прийняли на віру; ви це запустили. Якщо вам потрібні системи, збудовані так, щоб витримати таку сторінку, поговорімо.