ops-agents: Vault 게이트웨이 프로토콜 섹션 추가 (Syn/Heimdall 양쪽 e2e 검증 완료)
This commit is contained in:
@@ -61,7 +61,43 @@ Syn 컨테이너는 hp2 subnet routing 덕분에 **Tailscale 설치 없이** tai
|
||||
|
||||
**공동/협업**:
|
||||
- CrowdSec 시나리오: Heimdall 소유, Syn은 APISIX/SafeLine용 시나리오 파라미터 튜닝 제안만
|
||||
- 두 에이전트 모두 Vault·OpenMemory·Outline 읽기·쓰기 OK (MCP 경유)
|
||||
- 두 에이전트 모두 OpenMemory·Outline 읽기·쓰기 OK (MCP 경유). **Vault는 kappa 게이트웨이 ASK-only** (아래 섹션).
|
||||
|
||||
## Vault 접근 — kappa 게이트웨이 프로토콜
|
||||
|
||||
2026-04-09 도입. 에이전트는 Vault에 직접 접근할 수 없다. 중앙 집중 감사·블라스트 래디우스 제한이 목적.
|
||||
|
||||
**구현**:
|
||||
- Heimdall `~/.mcp.json` · Syn `~/syn/.mcp.json` 에서 `vault` 항목 완전 제거
|
||||
- 두 에이전트 모두 `mcp__vault__*` 도구를 물리적으로 호출 불가
|
||||
- CLAUDE.md 에 규칙·포맷 명시
|
||||
|
||||
**프로토콜**:
|
||||
|
||||
| 단계 | 행위자 | 포맷 |
|
||||
|------|-------|------|
|
||||
| 1 | 에이전트 | `[SYN ASK] vault:<path> <key> 필요 (용도: <한줄>)` → kappa tmux 0:1 에 주입 |
|
||||
| 2 | kappa | Vault 조회 (MCP `mcp__vault__read_secret`) |
|
||||
| 3a | kappa | `[KAPPA->SYN] <path> <key> = <value>` → 에이전트 tmux 에 주입 (성공) |
|
||||
| 3b | kappa | `[KAPPA->SYN] DENIED: <사유/정정힌트>` → 에이전트 tmux 에 주입 (거절) |
|
||||
| 4 | 에이전트 | 값 사용·즉시 폐기, 파일/OpenMemory/Obsidian 평문 저장 금지 |
|
||||
| 5 | 에이전트 | `[SYN DONE] vault ... 수신 확인, 미저장 폐기` CC |
|
||||
|
||||
**규칙**:
|
||||
- ASK 한 번에 여러 키를 동시 요청 가능 (같은 작업 범위 내)
|
||||
- 예외 없음 — bunnycdn/openmemory/nocodb 등 다른 MCP는 그대로 동작
|
||||
- 환경변수 잔존(`$VAULT_TOKEN`, `$VAULT_ADDR`) 신뢰 금지
|
||||
- 검증: 2026-04-09 Syn + Heimdall 양쪽에서 e2e 테스트 완료 (DENIED 경로 포함)
|
||||
|
||||
**이점**:
|
||||
- 기술적 격리 (에이전트가 규칙을 잊거나 혼동해도 Vault 도달 불가)
|
||||
- 중앙 감사 로그 (kappa 세션 대화 히스토리에 모든 ASK/응답 기록)
|
||||
- 동기 승인 (kappa 부재 시 자동 차단)
|
||||
|
||||
**한계**:
|
||||
- kappa 세션 활성 상태 필요 (에이전트 자율 작업 중 kappa 부재 시 시크릿 요구 작업 blocking)
|
||||
- kappa 세션 대화 히스토리에 시크릿 평문 잔존 (`/clear` 또는 세션 종료 시 사라짐)
|
||||
- kappa 본인의 MCP 권한 남용 방지책은 별도 필요 (vault audit log on Vault 서버 사이드 병행 권장)
|
||||
|
||||
## 배포 관리
|
||||
|
||||
|
||||
Reference in New Issue
Block a user