Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
trust-boundary-ctf — 브라우저 기반 MCP CTF — OAuth 토큰 혼동 및 세션 격리 실패 (CVE-2025-49596 패턴). DevTools 전용. | Kitploit
도구/GitHubGitHub/acseguin21/trust-boundary-ctf
Vulnerability AnalysisWeb SecurityCTFPenetration TestingLearning & EducationLabs & Practice
GitHubacseguin21/trust-boundary-ctf

trust-boundary-ctf

브라우저 기반 MCP CTF — OAuth 토큰 혼동 및 세션 격리 실패 (CVE-2025-49596 패턴). DevTools 전용.

저장소 보기
4개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🐘 Trust Boundary: MCP 세션 격리 CTF

Node.js License Difficulty CVE purple team

콘솔에는 세션 활성이라고 표시됩니다.
모든 도구 호출은 성공합니다.
관리자 OAuth 토큰은 모든 응답에 포함되어 있습니다.

Trust Boundary는 로컬에서 실행 중인 MCP 서버에서 발생한 실제 세션 격리 실패를 기반으로 구축된 브라우저 기반 CTF 랩입니다. 이 취약점은 시뮬레이션이 아니라 실행 중인 프로세스에서 실제로 동작합니다. 플래그는 세 개입니다. DevTools만 사용하면 됩니다.


공격

하나의 공유된 가변 컨텍스트 객체. 시작 시 관리자 자격 증명이 설정됩니다. 사용자 요청이 이를 부분적으로 덮어쓰지만 — 중요한 부분은 절대 지우지 않습니다.

root@kitploit:~
flowchart LR
    subgraph startup["🚀 Server Startup"]
        A[Admin Agent]
        A -->|credentials loaded| CTX
    end

    subgraph ctx["⚠️ Shared Context"]
        CTX["identity ✓ set\npermissions ✓ set\ntoken ✓ set\nsession ✓ set"]
    end

    subgraph request["👤 User Tool Call"]
        U[User Agent]
        U -->|identity ✓ updated\npermissions ✓ updated\ntoken ✗ never reset\nsession ✗ never reset| CTX
        CTX -->|response includes\nadmin residue| U
    end

    style ctx fill:#1a0a0a,stroke:#ff3333,color:#ff3333
    style startup fill:#0a0e27,stroke:#4488ff,color:#00ffff
    style request fill:#0a0e27,stroke:#ffaa00,color:#ffaa00

서버는 절대 오류를 내지 않습니다. UI는 모든 것이 정상이라고 보고합니다. 자격 증명은 트래픽 어딘가에 있습니다 — 찾아내세요.


시나리오

당신은 Elefunk의 SOC 분석가로 MDR 경보에 대응하고 있습니다:

"에이전트 도구 호출 응답에서 예기치 않은 세션 토큰이 관찰되었습니다. 출처: 사용자 컨텍스트. 토큰 패턴이 관리자 자격 증명 접두어와 일치합니다. 신뢰도: 높음."

http://localhost:3000의 내부 에이전트 콘솔은 정상으로 보입니다. 당신의 임무는 격리 실패를 확인하고 그것이 만들어낸 세 개의 플래그를 찾는 것입니다 — 브라우저의 DevTools만 사용해서요.


세 개의 플래그 미션

모든 플래그는 CTF{...} 형식을 따릅니다. 콘솔 하단의 검증기를 사용하여 제출하세요.


설정

Node.js 18 이상. Docker 없음. 환경 변수 없음. 설정 파일 없음.

root@kitploit:~
git clone https://github.com/acseguin21/trust-boundary-ctf
cd trust-boundary-ctf
npm install
npm start

**http://localhost:3000**을 여세요 — Elefunk 에이전트 콘솔이 기다리고 있을 것입니다.


Purple Team 활용

**SPOILERS.md**는 강사, 탐지 엔지니어, purple team 세션을 위한 동반 문서입니다. 여기에는 다음이 포함되어 있습니다:

  • 취약한 코드의 줄 단위 주석
  • 동작하는 diff 형태의 수정 사항
  • 설명 포인트가 포함된 단계별 플래그 워크스루
  • KQL, Splunk SPL, Sigma 기반 탐지 규칙

플레이하려면 닫아 두세요. 가르치려면 열어 두세요.


참고 자료

  • CVE-2025-49596 — 공유 세션 컨텍스트로 인한 MCP OAuth 토큰 혼동
  • OWASP MCP Top 10 2025 — MCP01: 토큰 관리 실패
  • Model Context Protocol 명세

Swadee Security · Operation: Ivory Chain

도구 다운로드
플래그난이도DevTools 위치방법
🟢FLAG 1쉬움Network → Response Headers모든 도구 호출이 응답 헤더에 관리자 토큰을 유출합니다
🟡FLAG 2보통Network → WS → Frames페이지 로드 시 두 개의 WebSocket 프레임이 도착합니다 — 그중 하나의 세션 ID가 잘못되었습니다
🔴FLAG 3어려움Application → Session Storage특정 시퀀스 + 타이밍이 디버그 추적 기록을 트리거합니다