프로젝트

일반

사용자정보

Actions

이슈 #449

진행중
HP HP

Phase 4-2 — Vega per-app origin/path isolation

이슈 #449: Phase 4-2 — Vega per-app origin/path isolation

Henry Park이(가) 약 7시간 전에 추가함.

상태:
해결
우선순위:
보통
담당자:
목표버전:
시작일:
2026/05/19
완료일:
진척도:

100%

추정시간:

설명

배경

Phase 4-1 (#446 누적, commit:server2|ba291bb 외) 의 capability cookie + Web SDK + /__alphea/fs gateway 는 CSRF + accidental cross-app guard 까지 닫지만, same-origin scripting 한계 가 남아 있다. 코드와 docstring (internal/handler/capability_gateway.go::checkCSRFClaim, capability.go) 에 이 한계가 명시되어 있고, Phase 4 로드맵의 키 단점으로 표시되어 있다.

시나리오: window.open 으로 victim app runtime window 를 잡고 거기서 alphea.fs.* 호출하면 victim 의 cookie + Referer 가 따라가서 통과한다. 이건 sandbox 가 아니다.

진짜 cross-app isolation 은 이 이슈에서 처리.

범위

  • isolation 모델 결정: per-app subdomain (app1.0xabc.alphea.local 형식 — 최소한 HTTPS 도메인 구조 변경) 또는 per-app cookie/gateway path 분리 (같은 origin, cookie path/scope 강화)
  • runtime URL 구조 갱신 (/d/<ns_type>/<ns_id>/<app_id>/... 가 이 결정을 반영)
  • capability cookie scope 갱신 — per-app 으로 재발급
  • Runtime HTML / Web SDK / gateway 의 origin 검증 강화 (아니면 same-origin 자체를 제거)
  • Phase 4-1 docstring 의 보안 매트릭스 갱신 (capability_gateway.go::checkCSRFClaim, 로드맵 §Phase 4)
  • smoke + handler test 커버리지 (공격 시나리오가 실제로 차단되는지)

디자인 reference

  • 로드맵 §Phase 4 (Web SDK / Gateway API)
  • internal/handler/capability_gateway.go::checkCSRFClaim docstring — 현재 보안 양의 한계 명시
  • internal/handler/capability.go 의 capability cookie scope 논리

DoD

  • isolation 모델 결정 (subdomain vs per-app cookie path) — trade-off matrix 에서 하나 선택
  • runtime URL 구조 + capability cookie scope 갱신
  • cross-app window.open 시나리오가 실제로 차단됨을 wire 검증
  • docstring + 로드맵 §Phase 4 갱신
  • Web Console Test Client Section D 에 cross-app 시나리오 smoke 도구 추가 (선택적)

관련

  • precedes / follows #446 (Phase 1 dFS PoC 종합 — Phase 4-1 결정들이 거기서 나온 이유·한계 그대로)
  • relates #448 (Phase 0.8 dKernel — capability/session 권위 계층이 이 이슈의 isolation 모델과 각자 독립적 트랙)
Actions

내보내기 PDF Atom