보안 및 컨테이너화
세 가지 위험 유형: 오용, 오작동, 외부 공격
보안은 Prompt 레이어 하나만 추가하는 것으로 충분하지 않으며, 아키텍처 레벨에서 구조적으로 설계해야 합니다. 여기서는 체계적인 보안 분류 프레임워크를 소개합니다.
보안 분류 프레임워크
AI 제품마다 직면하는 위협 모델은 다르지만, 모든 위험은 세 가지 카테고리로 분류할 수 있습니다. 이 세 가지 위험 유형을 이해하는 것이 보안 아키텍처 설계의 첫 번째 단계입니다.
MISUSE
사용자 오용
사용자가 의도적으로 Agent에게 해서는 안 될 일을 시킵니다. 이것은 사용자 측에서 오는 능동적인 위협입니다.
- Agent를 이용해 피싱 이메일 생성
- Agent를 유도하여 악성 코드 실행
- Agent를 이용해 권한 없는 데이터 접근
- 탈옥 공격으로 보안 제한 우회
MISBEHAVIOR
모델 오작동
모델의 자발적인 오류 행동: 아무도 시키지 않았는데 스스로 해서는 안 될 일을 합니다.
- 과도한 행동: 사용자는 파일 조회만 요청했는데 모델이 독단적으로 수정
- 환각 기반 동작: 허구의 정보를 바탕으로 실제 작업 실행
- 권한 초과: 모델이 현재 작업 범위 밖의 리소스에 접근 시도
- 멈출 수 없음: Agent가 무한 루프에 진입
EXTERNAL ATTACK
외부 공격
제3자가 악성 콘텐츠를 주입하여 Agent의 행동을 조작합니다. 공격은 데이터 소스에서 발생하며 사용자 자신은 전혀 알 수 없는 경우가 많습니다.
- Prompt Injection: 웹페이지/문서에 공격 명령 삽입
- 공급망 공격: 악성 MCP 서버가 조작된 데이터 반환
- 데이터 포이즈닝: 훈련 데이터에 백도어 심기
- 간접 주입: Agent가 읽는 이메일/파일을 통해 명령 주입
이중 Containment 전략
MODEL LAYER 모델 레이어 방어선
훈련을 통해 모델이 내면에서 안전한 행동을 선호하도록 합니다. 좋은 가치관을 갖춘 직원을 양성하는 것과 같습니다.
- RLHF/Constitutional AI로 안전 선호도 훈련
- 모델이 위험한 요청을 거부하는 법 학습
- 불확실할 때 모델이 적극적으로 사용자에게 질문
- 최소 권한 원칙 준수
ENVIRONMENT LAYER 환경 레이어 방어선
시스템 아키텍처를 통해 위험한 작업이 실행될 수 없도록 합니다. 창고에 자물쇠를 채우는 것처럼, 직원의 자발적 준수에 의존하지 않습니다.
- 샌드박스 격리: 코드 실행은 제한된 환경에서
- 권한 제어: 작업 단위로 권한 부여
- 승인 메커니즘: 고위험 작업은 인간 확인 필요
- 네트워크 격리: Agent의 네트워크 접근 범위 제한
MCP의 이중 위험
Model Context Protocol이 가져온 새로운 공격 표면
SUPPLY CHAIN RISK
공급망 위험
신뢰할 수 없는 MCP 서버가 악성 콘텐츠를 주입할 수 있습니다. Agent는 MCP가 반환하는 도구 설명과 데이터를 신뢰하지만 이 데이터는 이미 변조되어 있을 수 있습니다. 악성 MCP 서버는 도구 설명을 수정하여 Agent의 행동을 조작할 수 있습니다: Agent는 자신이 「파일 검색」 도구를 사용하고 있다고 생각하지만 실제로는 삭제 작업을 실행하고 있습니다.
PROMPT INJECTION
주입 공격
MCP가 반환하는 내용에 공격 명령이 포함될 수 있습니다. MCP 서버 자체가 악의적이지 않더라도 반환하는 데이터(예: 웹페이지에서 가져온 내용)에 Prompt Injection 공격이 포함될 수 있습니다. Agent가 이 데이터를 처리할 때 예상치 못한 작업을 실행하도록 설득될 수 있습니다.
MCP는 본질적으로 Agent의 공격 표면을 확장합니다. MCP 서버를 하나 더 연결할 때마다 잠재적인 데이터 주입 입구가 하나 더 생깁니다. 제품 설계자는 타사 SDK를 감사하는 것처럼 각 MCP 통합을 감사해야 합니다. 신뢰하되 검증하세요.
Auto Mode 실제 데이터
분류기 + 샌드박스: 높은 자율성과 낮은 위험의 조합
~83%
권한 팝업 감소 비율
2
핵심 구성요소
Auto Mode는 두 가지 핵심 구성요소를 통해 높은 자율성 + 낮은 위험의 균형을 실현합니다:
분류기
작업이 안전한지 판단
작업이 안전한지 판단
+
샌드박스
오판해도 피해가 없음
오판해도 피해가 없음
=
높은 자율성 + 낮은 위험
분류기는 각 작업의 위험 수준을 빠르게 판단합니다: 안전한 작업은 바로 실행하고, 의심스러운 작업만 팝업으로 확인합니다. 샌드박스는 두 번째 방어선으로, 분류기가 오판하더라도 코드 실행이 시스템에 실제 피해를 주지 않도록 보장합니다. 두 가지를 결합하면 사용자의 확인 팝업이 약 83% 감소하면서도 보안을 유지할 수 있습니다.
보안은 Prompt 한 겹을 추가하는 것만으로 충분하지 않으며, 구조적 설계가 필요합니다. 세 가지 위험 유형(오용, 오작동, 공격)을 이해하고 모델 레이어와 환경 레이어 모두에 방어선을 구축해야 Agent가 실제 프로덕션 환경에서 안전하게 운영될 수 있습니다.