원격 Vault P0 환경 확인과 P1 최소 시험

2026-09-05 범위 변경: 아래는 과거 시험·구현 기록이다. 현재 실행은 원격 Vault 재설계와 선행 검증의 로컬 stdio/SSH 계획을 따른다. 웹·Android와 Auth0 후속 시험은 재개하지 않는다. AWS 시험 리소스는 사용자 요청으로 보존한다. Auth0 정리 상태는 HANDOFF에서 확인한다.

원격 Vault 재설계와 선행 검증의 P0 조사 결과와 P1 실행 전 조건이다. 2026-09-05 현재 로컬 명령·웹 화면·공식 문서를 대조했다. P0 환경·요구 조사와 P1 최소 시험 범위 작성을 마쳤다. 실제 OAuth 성공은 아니다. CLI는 직접 실행으로, Claude Code의 Local·Connectors 표시는 사용자 답변으로 확인했다. 실제 callback·연결·호출과 Android 현재 버전은 P1에서 기록한다.

이번에 확정한 사용자 요구

  • Claude 대상은 이 Windows PC의 데스크톱 앱과 CLI 각각이다. 데스크톱은 Claude Code의 Code 탭·로컬 세션을 시험 대상으로 해석한다. 일반 Chat 탭의 연결을 Code 성공으로 대신하지 않는다.
  • 회수는 실제 지연과 운영 부담을 비교한 뒤 결정한다. 즉시 개별 차단이나 짧은 토큰 만료를 먼저 채택하지 않는다. 허용 지연의 확정값은 아직 없다.
  • 목적의 원천은 MCP의 목적은 여러 모델이 같은 Vault를 이용하게 하는 것이다, 운영 맥락은 외장뇌 운영이다.

실제 환경별 확인표

환경직접 확인한 사실등록·지침 경로와 남은 확인원격 Vault OAuth
ChatGPT Work 웹로그인된 Chrome에서 Work 선택 및 도구 메뉴 표시 확인플러그인 → 앱 만들기의 빈 등록 폼 확인. OAuth 기본값, 서버 URL/터널 선택, URL 입력 전 고급 OAuth 비활성. callback은 P1 관찰 대상. 이전 무인증 앱은 삭제 이력미실행
ChatGPT Work Android같은 날 이전 시험의 사용자 실행 확인과 서버 재조회가 일치이번 기기 UI·앱 버전은 직접 확인하지 못함. P1 호출 시 버전·선택 앱·로그인 흐름을 사용자와 기록미실행. 과거 무인증 성공과 구분
Codex Windows 앱현재 작업 실행 중. 설치 패키지 26.901.5280.0사용자 C:/Users/aica_/.codex/AGENTS.md와 Vault AGENTS.md 존재·본문 확인. 설정 화면의 시험 서버 등록은 미실행미실행
Codex Windows CLIcodex-cli 0.146.0, codex login status는 ChatGPT 로그인. mcp add/login 도움말 확인사용자 config.toml의 수동 MCP 이름은 node_repl만 확인. 전역 callback 설정 없음. 플러그인/프로젝트/관리 설정 전체 목록이나 앱의 실효 설정을 뜻하지 않음미실행. 제품 로그인은 MCP OAuth가 아님
Claude Windows 앱의 Code설치 패키지 1.46388.3.0 확인사용자가 Code 탭의 Local 선택·Connectors 표시를 확인. 네이티브 UI 직접 관찰·계정·실효 MCP 목록은 미확인. C:/Users/aica_/.claude/CLAUDE.md 본문 확인미실행
Claude Windows CLI사용자가 이번 조사 중 설치. C:/Users/aica_/.local/bin/claude.exe 직접 실행으로 2.1.261, claude.ai 로그인 확인mcp add--callback-port, --client-id, --transport httpmcp login --no-browser 지원 확인. 현재 프로세스 PATH에서는 아직 찾지 못해 절대 경로 사용미실행. 제품 로그인과 구분

Windows 패키지 버전은 내부 Code 엔진/CLI 버전의 증거가 아니다. 설정 파일 공유 역시 각 화면의 도구 노출·호출 성공을 보장하지 않는다. CLI의 도움말과 로그인 상태 조회는 임시 PATH/arg0 디렉터리 접근 경고와 함께 결과를 반환했다. 이를 OAuth 실패로 판정하지 않는다.

사용자 .claude.json의 최상위 mcpServers는 비어 있고, 현재 Vault .mcp.json과 일반 Roaming 경로의 claude_desktop_config.json은 없다. 프로젝트별 중첩 설정·계정 커넥터·패키지 앱의 모든 설정을 조사한 결과는 아니다. 공식 Claude Desktop 문서는 Code와 CLI의 공통 설정 및 Desktop 전용 설정의 차이를 설명하므로 실효 연결은 각 환경에서 확인한다.

계획에 영향을 주는 발견

문서와 설치 버전 차이. 현재 공식 Codex MCP 문서는 OAuth 등록 방식 선택을 설명하지만 설치된 CLI의 mcp login --help에는 --oauth-client-registration이 없다. 반면 mcp add --help에는 --oauth-client-id, --oauth-resource, --url이 있다. P1 명령은 실제 도움말에 맞춘다. 기능 차이를 해결하려고 이번에 업데이트나 설정 변경을 실행하지 않았다.

화면별 연결 경로. 공식 MCP 문서는 동일 Codex 호스트의 설정 공유와 웹의 원격 플러그인 경로를 구분한다. 로컬 설정만 추가해 웹/Android까지 연결됐다고 판단하지 않는다. Claude Desktop 문서는 Code 탭을 별도 작업 환경으로 설명한다. 해당 앱 설치 사실만으로 Code 로그인이나 MCP 준비를 확정하지 않는다.

callback은 실행 결과로 고정. Claude MCP 문서는 고정 callback port와 사전 등록 client ID를 지원하며 일부 버전의 localhost/127.0.0.1 차이를 설명한다. Claude 버전을 확인하기 전에 URI를 미리 확정하지 않는다. Codex도 실제 로그인에서 선택한 URI·issuer 처리·resource를 기록한다. URL에 포함된 code/state나 토큰은 기록하지 않는다.

AWS 용량과 운영자 경계. 서울 리전에서 lambda get-account-settings를 조회했다. sandbox는 proxy 연결 실패, 호스트 vault-preflightlambda:GetAccountSettings 권한 거부, 호스트 default는 성공하여 동시 실행 한도 10·미예약 10을 반환했다. 기존 예약 동시성 1 실패 이력은 유지하며 이번에 예약 설정 성공을 시험하지 않았다. P1 실행 전 기존 관리자 경로로 정지 명령의 대상·권한을 확인해야 한다. 이번에는 권한을 늘리지 않았다.

P1의 최소 실험 계약

P1은 인증 공급자 후보 하나와 합성 응답 하나만 사용한다. GitHub 자격 증명·Vault 데이터·DynamoDB·문서 검색·제작 도구는 필요하지 않다. 기존 protected/check-provider.mjs는 Cognito issuer만 허용하므로 다른 후보에 그대로 실행할 수 없다. 검사항목은 재사용하고 공급자 종속 구현은 다음 구현 범위로 명시한다.

단계실행과 증거중단 또는 후속 판단
P1a 공개 metadata·등록 설계실제 후보 issuer의 discovery, S256, token endpoint 인증 방식, resource/audience, 각 환경의 client 등록·callback 계약. 새 계정이 필요하면 먼저 대상·비용·정리안을 구체화후보가 요구를 충족하지 않으면 데이터 없는 MCP 구현 전에 중지. Auth0를 자동 선택하지 않음
P1b 최소 보호 도구auth_probe 하나가 검증된 read 권한에 고정 합성값 반환. 선택한 check_write_scope 모드는 write 권한 검사만 하고 저장하지 않음. 응답은 실행 ID·서버 시각·허용된 probe 결과만 포함이 도구의 write 검사 성공은 실제 Vault 쓰기 성공이 아님
P1c 여섯 환경의 실제 호출환경별 등록/로그인 → 목록 → read 호출. read-only 토큰으로 write 검사 거부, write 권한으로 허용. 실행 ID를 서버 결과와 대응실패한 환경을 다른 환경 성공으로 통과시키지 않음. 원인을 등록·인증·도구 전달로 구분
P1d 공통 서버 거부 시험무토큰·만료·다른 audience/resource·잘못된 issuer/서명·누락 scope를 실제 배포 endpoint에 전달. 값은 합성 시험용이며 원문 토큰은 로그 제외로컬 JWT 테스트만으로 배포된 검증기의 거부를 대신하지 않음
P1e 갱신·회수·정지정상 갱신, grant/refresh 회수 뒤 기존 access token의 수용 시간, 재로그인 필요·조작 횟수, endpoint 전체 중단 뒤 새 호출 거부·재개 확인측정 결과로 운영 계약 선택. 응답 지연을 회수 지연으로 혼동하지 않음. 진행 중 호출 취소는 별도 관찰

read/write 양쪽 토큰이 실제로 나뉘는지 확인한다. 클라이언트가 요청 scope를 자동 확대하는 경우 SDK 부정 시험만 통과시키지 말고 해당 환경의 read-only 운영 가능 여부를 별도 실패/미확정으로 남긴다.

회수 측정은 회수 시각, 마지막 수용 시각, 최초 거부 시각, 시험 간격, access token 만료 시각의 차이를 남긴다. 연속 관찰이 아니면 지연을 구간으로 보고한다. API 요청 간격과 관찰 종료 시간은 후보의 제한·토큰 수명을 확인한 후 정하고, 관찰 종료까지 계속 수용되면 미확정으로 기록한다. 숫자를 임의의 사용자 수용 기준으로 바꾸지 않는다.

시험 범위와 정리

  • 후보 계정/tenant 1개, 최소 사용자·클라이언트 등록, probe 서비스 1개를 상한으로 구체화한다. 기존 구성을 재사용할 수 있는지는 후보 선정 후 판단한다. 유료 가입·추가 DB·IAM 확대는 이번 조사에서 실행하지 않는다.
  • 환경별 로그에는 버전, 로컬/클라우드, 등록 방식, 비밀 없는 callback 형태, 도구 이름, 실행 ID, 통과/실패/미실행, 회수 측정 구간을 남긴다. 실제 Vault·대화 원문·비밀은 저장하지 않는다.
  • 공개 전 대상과 소유자를 확인하는 정지·삭제·독립 부재 조회 명령을 준비한다. 클라이언트 등록 제거, refresh/grant 회수, endpoint 폐쇄, 로그/비밀/시험 리소스 정리를 각각 확인한다. 비용 알림이나 토큰 만료를 과금 중단으로 보지 않는다.
  • P1 완료 기준은 모든 대상 환경의 인증 관찰, 공통 거부 시험, 회수/긴급 중단 결과와 사용자가 선택한 운영 계약이다. 미확인 환경을 남긴 채 전체 P1을 통과시키지 않는다. P2 GitHub 저장·P3 문서 활용·P4 종단간은 별도다.

P0 완료 범위와 다음 재개점

  1. Claude CLI 경로·버전·도움말·제품 로그인은 확인 완료. 새 원격 MCP 인증은 P1에서 수행한다.
  2. ChatGPT 새 시험 등록 화면은 확인 완료. Claude Code의 Code 탭·Local 선택·Connectors 표시는 사용자 확인 완료. 실제 연결·Android 버전/로그인 흐름은 P1에서 기록한다.
  3. 위 환경 제약을 반영해 P1a 후보 하나의 실제 metadata·등록 가능성을 조사하고, 필요한 외부 범위를 제시한다. P0 조사 문서 작성과 P1 배포를 구분한다.

실제 OAuth callback은 후보 endpoint와 클라이언트 등록을 시작해야 확정되는 값이므로 P1의 명시적 관찰 항목이다. P0에서 모든 인증 결과를 요구하지 않는다. P0는 시험 대상·진입점·운영 제약·회수 판단 방식과 P1 범위를 정하는 조사로 완료했다. 앱의 실제 실효 설정·인증·호출 성공은 P1에서 검증하며 이번에 새 외부 시험은 시작하지 않았다.

P0 후속 화면 확인 — 2026-09-05

ChatGPT 웹에서 Work 입력창 아래 플러그인 → 플러그인 연결 → 모든 플러그인 보기 → 앱 만들기로 이동해 빈 양식을 직접 읽었다. 이름·선택 설명·MCP URL, 서버 URL/터널 선택, OAuth/인증 없음/혼합 선택이 있다. OAuth가 기본 선택이며 유효한 URL 입력 전에는 고급 OAuth 설정 버튼이 비활성이고, 탐지된 설정을 보려면 URL을 입력하라고 안내한다. 따라서 실제 callback과 등록 방식의 확정은 endpoint를 준비하는 P1에서 수행한다. 시험 URL을 지어 넣거나 과거 삭제된 URL을 재사용하지 않았다. 신뢰 체크·생성·가입·권한 변경 없이 양식을 닫았다.

Claude 네이티브 UI는 현재 도구로 볼 수 없다. 사용자에게 Code 탭에서 Local 환경과 Connectors 메뉴가 표시되는지만 확인하도록 요청했다. 새 작업·서버 연결을 만들도록 요청하지 않았다. 사용자가 “보여”라고 답해 두 표시를 확인했다. 이는 사용자 관찰이며 직접 도구 관찰이나 실제 MCP 인증 성공과 구분한다.

P1 인증 시험용 최소 진입 지침은 새 합성 시험 대화의 첫 메시지에 명시한다: “지정된 auth_probe만 호출하고 반환된 실행 ID와 결과를 보고하라. 개인 Vault나 프로젝트 파일은 읽거나 수정하지 말라.” 이를 모든 환경에 동일하게 제공하고 실제 사용 메시지를 기록한다. 이는 P1의 명시 호출 시험용이며, P3의 경로 지시 없는 문서 발견 시험을 대신하지 않는다. 영구 스킬·전역 지침을 변경하지 않는다.

P1a 후속: 원격 Vault P1a Auth0 후보와 실험 범위. 문서 조건 검토·외부 범위 준비 완료, 실제 tenant metadata는 미검증이다.

연결