AI가 가미된 소프트웨어의 보안
- 2026-06-19 (modified: 2026-06-23)
AI가 가미된 소프트웨어의 정보 보안에 대한 생각.
설계 (작업중)
IFC(Information-Flow Control) 관점에서의 정보 흐름 관리 시스템에 대한 메모.
달성하고자 하는 목표:
- 멀티-에이전트 멀티-유저 환경에서 에이전트로 인해서 정보가 부적절하게 퍼지는 일을 원천 봉쇄한다. 인간이 실수 혹은 자의적 판단으로 정보를 전달하는 건 허용한다. 왜냐하면 인간은 책임을 질 수 있지만 에이전트는 책임을 질 수 없으므로.
목표가 아닌 것:
- 전체 시스템의 무결성
- 전체 시스템의 보안
설계:
- 에이전트는 격리된 환경에서 작동하는 LLM이다. 에이전트는 오로지 도구를 통해서만 외부 세상과 정보를 주고 받을 수 있다. 예를 들어 검색 도구를 쓰면 질의어를 내보내고 검색 결과를 받아온다.
- 에이전트에게는 컨텍스트 가 있고, 에는 권한 레이블 집합 이 붙어 있다. 초기 권한 레이블 집합은 전체집합이다. . 즉, 빈 컨텍스트에는 정보가 없으므로 이 컨텍스트의 정보는 모두가 읽을 수 있다.
- 도구를 통해 컨텍스트로 들어오는 모든 정보에는 그 정보를 누가 읽어도 되는가를 기준으로 권한 레이블이 자동으로 붙는다. 예를 들어 Alan이 Brad에게 보낸 메일의 레이블은 .
- 컨텍스트로 외부 정보가 들어오는 순간 현재 컨텍스트의 권한 레이블에 해당 정보의 권한 레이블이 합쳐진다(intersection). 인 상황에서 레이블이 붙은 정보를 읽어오면 . 즉, 이 컨텍스트에서 파생되는 정보를 읽을 수 있도록 안전하게 허가된 사람은 Brad 뿐이다.
- 컨텍스트에서 나가는 정보가 도달할 외부 목적지에도 권한 레이블이 존재한다. 예를 들어 Alan, Brad, Cate, Dave가 있는 슬랙 채널의 권한 레이블은 이다.
- 에이전트가 특정 도구를 이용하여 컨텍스트의 정보를 내보내는 순간, 해당 정보에는 현재 컨텍스트의 권한 레이블이 그대로 옮겨 붙는다. 목적지의 권한 레이블이 정보의 권한 레이블의 부분집합인 경우() 에만 툴 실행이 허용된다.
TODO:
- 각 툴의 특성(traits?)을 묘사할 어휘들. 각 툴이 정확히 무슨 일을 하는지는 중요하지 않다. 우리 모델에서 유효한 특성들을 묘사할 어휘 집합이 있으면 됨.
- 에이전트의 메모리를 어떻게 취급할 것인지 고민해보기. 도구의 하나인가 특별한 시스템인가.
- 전통적인 선형 컨텍스트는 레이블이 계속 줄어들기 때문에 결국 공집합으로 수렴한다. 컨텍스트 되돌리기, 분기, 결합 등 비선형 컨텍스트를 어떻게 관리할 것인지가 중요할 것.
- 정보는 볼 수 없지만 레이블만 볼 수 있는 서브에이전트에 의한 컨텍스트 관리 등 멀티에이전트 시스템을 고민해볼 것. “에이전트의 기억은 언제든 조작할 수 있다”는 특성이 기존의 보안 시스템에는 없던 정말 중요한 특성이므로 잘 활용해야 함. (기존 시스템에서 유사한 목적을 달성하려면 특정 정보에 노출된 인간을 원하는 시점에 죽일 수 있어야 함.)
- “세상에 대한 모든 이펙트는 정보의 수정이다”라는 관점이 적절한지 생각해보기. 이 관점이 충분히 유효할수록 유리함.
- 위 설계를 따르는 에이전트가 더 잘 활동할 수 있는 좋은 환경에 대해 생각해보기. 예: 더 많은 정보 변경을 쉽게 되돌릴 수 있을수록 좋은 환경이다, 정보 변경으로 인한 부수효과가 적을수록 좋은 환경이다.
“세상에 대한 모든 이펙트는 정보 수정이다”의 예시?
- 인간이 볼 수 없는, 버전 관리되는 파일의 수정: 되돌리기 쉬움
- 카드 결제: 연쇄효과를 모두 되돌리기 어려움
- 인간에게 정보 전달: 기억을 지울 수 없으므로 되돌리기 불가능
- 에이전트에게 정보 전달: 컨텍스트 되감기가 되므로 되돌리기 쉬움
- SNS 포스팅: 다수 인간에게 정보 전달. 포스팅 삭제는 쉽지만 인간이 읽었을 수 있으므로 되돌리기 불가능
- SNS에 드래프트 상태로 포스팅: 되돌리기 쉬움
- 정보 읽어오기: 이펙트 없음
- 에이전트 프라이빗 메모리 수정: 되돌리기 쉬움
- 인간을 비공개 채널에 초대: 채널에 메시지가 하나라도 있었다면 되돌리기 불가능
- 인간을 강퇴시키기: 강퇴 당해서 사라진 외부 기억 접근성 저하로 인한 연쇄 효과를 되돌리기 어려움.
메모
Information flow control, Protecting Privacy using the Decentralized Label Model
- 에이전트 컨텍스트 밖 정보의 변경은 모두 “이펙트”로 간주한다.
- 에이전트가 다루는 모든 정보는 개별 인간을 단위로 하여 흐름 통제한다 (IFC with DLM)
인간과 에이전트의 차이
- 인간은 책임을 질 수 있고 에이전트는 아니다
- 에이전트는 기억(context)을 지울 수 있고 인간은 아니다
Risk-based security
- “안전하다-아니다” 이분법으로 생각하지 않기
Assume Compromise / Assume Breach
- 이미 뚫렸거나 언제든 뚫릴 수 있음을 가정하기
- 예방이 아니라 탐지, 대응, 탄력성(resilience)에 집중하기