Case study 02 · Memory isolation

개인 업무기록은 가리고
전사 지식은 쌓이게 만들기

에이전트가 쌓는 업무기록에서 개인정보 격리와 누락 없는 축적을 동시에 요구받은 환경이다. 격리를 문서로 선언하는 대신 매 실행마다 거부되는지 확인하는 방식으로 바꿨다.

중견기업 고객사 · 전사 지식관리 역할: 시스템 설계 · 오픈소스 커스터마이즈 Access control · MCP gateway · 오픈소스 공개 2026

01문제

에이전트를 업무에 붙이면 사람이 쓴 것보다 훨씬 촘촘한 기록이 남는다. 무엇을 물었고 무엇을 고쳤고 어떤 파일을 봤는지가 자동으로 쌓인다. 조직 입장에서는 이것이 곧 지식 자산이라 모으고 싶고, 개인 입장에서는 자기 작업 로그가 통째로 열람되는 상태를 받아들일 수 없다. 두 요구는 정면으로 충돌한다.

흔한 타협은 둘 중 하나를 포기하는 것이다. 전사 공유를 포기하면 지식관리가 안 되고, 개인 격리를 포기하면 도입 자체가 거부된다. 이 과제에서는 둘 다 포기하지 않는 대신 격리가 실제로 강제되는지를 증명하는 방식을 요구 사항으로 올렸다.

기술적으로 걸린 지점은 명확했다. 도입 후보였던 오픈소스 메모리 서버는 인증이 단일 공유 키 하나뿐이었다. 즉 키를 가진 클라이언트는 누구의 저장소든 조회할 수 있고, "누가 어느 저장소를 볼 수 있는가"를 강제하는 계층이 아예 없었다. 이 상태에서 팀 전체를 붙이면 사고가 예외가 아니라 기본 동작이 된다.

02제약

03접근

1) 강제 지점을 하나로 만들었다

메모리 서버 앞에 정책 게이트웨이를 두고 모든 요청이 그 한 곳을 지나게 했다. 기본값은 거부다. 토큰이 자기 저장소에 대한 권한을 증명하지 못하면 통과하지 못한다. 업스트림 본체는 수정하지 않았으므로 업그레이드 경로가 살아 있다.

2) 헤더만 보지 않고 본문까지 봤다

게이트웨이를 본문 인지 방식으로 만들었다. 저장소 지정이 헤더에만 있는 게 아니라 호출 본문의 인자에도 들어올 수 있기 때문이다. 헤더만 검사하는 구현은 본문에 다른 저장소를 실어 보내는 요청을 그대로 통과시킨다. 이 우회는 가정이 아니라 실제로 재현해 본 뒤 막았다.

3) 성공 기준을 문장에서 종료코드로 옮겼다

"격리했다"는 서술을 신뢰 근거로 쓰지 않기로 하고, 검증 스크립트가 9개 게이트를 모두 통과할 때만 통과로 정의했다. 게이트는 상태 확인, 저장소 프로비저닝, 적재-조회 왕복, 격리와 귀속, 적대적 우회 거부, 계약 드리프트, 강제 규칙 동작, 리랭커 구성 일치, 백업 복원이다. 한 개라도 0이 아니면 배포가 아니다.

4) 적대적 시나리오를 상시 검사에 넣었다

권한 없는 토큰, 경로 우회, 헤더와 본문을 동시에 쓰는 저장소 스머글링, 귀속 위조 4종을 매 실행에서 거부하는지 확인한다. 침투 테스트를 한 번 하고 보고서를 남기는 방식이 아니라, 회귀 검사로 상주시켜 나중에 생긴 구멍도 잡히게 했다.

5) 조회를 믿지 않고 실측했다

1주(7일) 트라이얼에서 운영 데이터 211건을 쌓아 조회 기반 검색의 완전성을 측정했다. 의미 검색으로 관련 기록을 불러오는 방식의 재현율은 15.6%였다. 이 수치를 확인한 뒤 업무보고처럼 누락이 치명적인 작업에서는 검색 대신 시간 범위 직조회를 원칙으로 확정했다.

6) 요약 레이어를 껐다

자동 요약 기능은 편의성이 크지만 원본을 덮어쓰는 형태로 오염을 만든다. 정보 오염 위험을 근거로 이 레이어를 껐다. 대신 일일·주간 보고를 별도 합성 파이프라인으로 만들고 품질을 따로 평가해 환각률 0을 확인한 뒤 운영에 넣었다.

7) 스택을 오픈소스로 공개했다

고객사 데이터가 아닌 격리 스택 자체를 MIT로 공개했다. 게이트웨이, 검증 게이트, 프로파일, 복원 절차가 그대로 들어 있다. 격리를 주장으로 파는 대신 남이 직접 돌려 볼 수 있게 만드는 편이 신뢰 근거로 강하다. 비교용 평가 하네스도 함께 열어, 대안 구현과 동일 조건에서 재보게 했다.

04결과

항목실측
통과 기준 실행 게이트9개 전부 GREEN
매 실행 거부를 확인하는 적대적 우회4종
트라이얼 운영 실측 기록211건 / 7일
조회 기반 검색 재현율15.6%
보고 합성 파이프라인 환각률0
완전 오프라인 구성 런타임 메모리1.5-2.1GB
공개 평가셋 조회 정확도8/8

결과물은 권한 격리를 유지한 채로 누락 없이 쌓이는 전사 지식관리 뼈대다. 개인 저장소는 본인만 열람하고, 팀 저장소는 귀속이 기록되며, 승격은 3단계로 명시돼 있다. 도입 판단을 내리는 쪽이 확인해야 하는 것은 설명이 아니라 검증 스크립트의 종료코드 하나로 줄었다.

재현율 15.6%는 실패 수치가 아니라 설계 근거다. 이 값을 모르고 검색에 보고를 맡기면 빠진 기록을 아무도 눈치채지 못한다. 측정하지 않은 것을 측정했다고 말하지 않는 것이 이 시스템의 유일한 안전장치다.

05재현 가능한 부분

이 과제에서 나온 자산 중 다음은 공개돼 있거나 이식 가능하다.

이식되지 않는 것은 고객사의 조직 구조와 권한 등급 매핑, 그리고 실제 업무 데이터다. 그 부분은 조직마다 다시 정의해야 하고, 그 정의가 곧 접근 제어 목록의 입력이 된다.

격리 요건이 있는 지식관리 도입을 검토 중이라면

[email protected] 문의 폼은 두지 않는다. 메일 한 통이면 된다.