기계 번역입니다. 영어 원문이 기준입니다. English

믿지 말고 검증하라

증명해 보세요. 직접 공격해 보세요.

이 사이트의 모든 주장에는 이 페이지에 버튼이 있고, 실제로 돌아가는 시스템에 연결되어 있습니다: 행 수준 보안이 적용된 라이브 데이터베이스, 실제 승인 대기열, 실제 킬 스위치. 녹화가 아닙니다.

01, 테넌트 격리

🔒 핵심 자산 · 라이브

테넌트 격리를 뚫어 보세요. 버티는 것을 지켜보세요.

샌드박스 테넌트 두 개가 있고, 각각 비공개 메모를 하나씩 가지고 있습니다. Alpha는 공유 도구를 소유하고 있으며 이를 Beta에게 허가했습니다. Beta가 이 도구를 호출하면, Alpha의 데이터를 명시적으로 요청하더라도 Postgres는 아무것도 반환하지 않습니다. 도구가 Beta의 범위에서 실행되기 때문입니다. 이것은 행 수준 보안과 NOBYPASSRLS 역할이 적용된 실제 데이터베이스를 대상으로 실시간으로 실행됩니다. 어떤 감사도 데이터베이스 정책을 뚫지 못했습니다. 발견된 테넌트 간 유출 한 건(7월)은 데이터베이스 바깥에 보관된 채팅 기록에 있었으며, 수정되었습니다. 스크립트가 아닙니다, 버튼을 눌러 보세요.

이것이 증명하는 것: 두 샌드박스 테넌트에 걸친 공유 도구 읽기 한 번이 아무것도 반환하지 않는다는 것. 증명하지 않는 것: 메모리, 캐시, 내보내기, 백그라운드 작업이 격리되어 있다는 것, 또는 모든 요청이 올바른 테넌트에 바인딩된다는 것.

테넌트 B공유 도구 →테넌트 A의 데이터

B가 A의 도구를 호출해 A의 데이터를 명시적으로 요청합니다.
Run을 누르고, RLS가 0개 행을 반환하는 것을 지켜보세요.

메커니즘: 다이어그램이 아닌 실제 정책:
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, 통제된 행동

⛔ 거버넌스 · 라이브

고위험 액션이 통제되는 과정을 보세요.

샌드박스에 중대한 일을 요청해 보세요. 예를 들어 공개 공지 게시(tier-3)입니다. 그냥 실행되지 않습니다. 분류되고, 킬 스위치 상태를 확인받은 뒤, 사람의 승인을 위해 보류됩니다. 승인하면 그때 실행됩니다. 킬 스위치를 켜면 tier-3가 대기열에 들어가기도 전에 거부되는 것을 볼 수 있습니다.

킬 스위치

이것이 증명하는 것: tier-3 데모 작업 하나가 사람의 확인을 위해 대기열에 오르고, 킬 스위치가 그것을 중지한다는 것. 증명하지 않는 것: tier-3으로 분류되어야 할 모든 실제 작업이 tier-3으로 분류된다는 것.

tier-3→승인 대기열→사람

실행되지 않습니다. 대기열에 들어갑니다. 하나를 보낸 뒤 승인하거나 거부하세요.
킬 스위치를 켜면 대기열에 들어가기도 전에 멈춥니다.

03, 재현 가능한 평가

eval · 실시간 · ~15초

재현 가능한 감사. 직접 실행해 보세요.

거버넌스 평가: 적대적 사례를 실제 어시스턴트와 라이브 샌드박스에 대해 지금 바로 합격/불합격으로 채점합니다. 배지가 아니라 버튼입니다. 이를 계속 강화해 온 감사와 같은 발상이며, 가장 최근에는 50-에이전트 감사와 14-렌즈 재감사가 있었습니다: 탐색하고, 그다음 검증.

이것이 증명하는 것: 고정된 5가지 사례가 지금 실제 시스템에서 통과하며, 각 결과에는 영수증(사례, 기대값, 관측값, 시각, 빌드)이 붙는다는 것. 증명하지 않는 것: 이 5가지 외의 공격에 대한 견고성.

적대적 케이스 5개
격리 · 거버넌스 · 안전 · 인젝션 · 정직성

라이브 시스템을 대상으로 통과/실패로 채점합니다. 실행을 누르세요.

04, 개방형 프로토콜

🔌 MCP · 라이브

개방형 프로토콜로, 당신의 AI를 제 AI에 연결해 보세요.

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. 요청 시 발급되는 수명이 짧은 익명 샌드박스 토큰으로 실행됩니다.

그다음 스스로를 통제하는 모습을 지켜보세요. 어시스턴트에게 무엇이든 물어보면 모든 호출마다 credits_spent가 반환되므로, 초과 인출은 일어날 수 없습니다. 그런 다음 행동을 수행하라고 요청해 보세요: 그것은 tier-3 호출이며 절대 실행되지 않고, 인가 게이트에 보류된 채 사람을 기다립니다. 그 거부는 당신이 직접 일으킨 것입니다. 발표 자료 속 스크린샷이 아닙니다.

접근할 수 있는 것: 거버넌스가 적용된 답변 어시스턴트 하나 + 의도적으로 비활성화된 "게이트 데모" 행동 하나. 속도 제한이 걸린 익명 샌드박스이며, 실제 데이터도, 실제 돈이 오가는 행동도 없습니다. 존재하지 않는 도구를 탐색하면 권한이 없는 도구와 똑같은 오류가 반환되므로, 오류로는 아무것도 새어 나가지 않습니다.

05: 빌더

방금 공격한 모든 것은 한 사람이 만들었습니다.

아무것도 그냥 믿지 않고 직접 실행해 보셨습니다. 이런 페이지를 견디도록 만든 시스템이 필요하다면 이야기해 봅시다.