Why Your AI Agent Shouldn't Use a Human's Credentials

개요

AI 에이전트가 인간의 자격 증명을 재사용할 때 발생하는 보안 문제를 해결하기 위해, 에이전트에게 자체적이고 격리된 디지털 신원(Agent Account)을 부여하는 것이 중요합니다.

주요 내용

  • 인간 자격 증명 사용의 보안 위험: AI 에이전트가 인간의 OAuth 권한을 사용할 경우, 에이전트의 행동과 인간의 행동 사이에 경계가 없어 민감한 정보 노출 및 평판 훼손의 위험이 있습니다. API 키를 공유할 경우 단일 실패 지점이 되어 광범위한 피해를 야기할 수 있습니다.
  • 프롬프트 인젝션 취약점: 악의적인 사용자가 에이전트에게 보내는 이메일이나 캘린더 이벤트에 숨겨진 지시사항을 삽입하여 에이전트가 이를 실행하도록 유도할 수 있습니다. 인간의 계정에 연결된 에이전트의 경우, 이로 인해 모든 받은 편지함 내용이 노출될 수 있습니다.
  • 격리 및 보안 조치: 에이전트는 지시사항을 자동으로 실행하지 않도록 설정하고, HTML이나 숨겨진 콘텐츠는 처리 전 제거하거나 이스케이프해야 합니다. 모든 보내기, 삭제, 수정 작업 전에 명시적인 확인 절차가 필요합니다.
  • Agent Account의 도입: Agent Account는 API를 통해 관리되는 자체 이메일 주소와 받은 편지함, 보낸 편지함, 캘린더를 가진 독립적인 신원입니다. 이를 통해 에이전트는 자신의 데이터에만 접근할 수 있어 데이터 노출 범위를 제한합니다.
  • Agent Account의 이점:
  • 명확한 권한 경계: 에이전트는 자신의 Agent Account에 대한 권한만 가지므로, 공유 받은 편지함 노출 위험이 없습니다.
  • 관리 용이성: 직원이 퇴사해도 통합이 중단되지 않고, OAuth 동의 화면이나 토큰 갱신 문제도 발생하지 않습니다.
  • 내장된 제한: 무료 플랜에서 메시지 전송 횟수 및 받은 편지함 보존 기간 등의 제한을 통해 에이전트의 잠재적 피해 범위를 제한합니다.
  • 최소 권한 원칙 적용: 에이전트에게는 수행하는 작업에 필요한 최소한의 권한만 부여해야 합니다. (예: 받은 편지함 요약은 읽기 권한만, 회의 일정 관리는 캘린더 읽기 및 이벤트 생성 권한만)
  • API 키 관리 중요성: Agent Account를 사용하더라도 API 키는 에이전트나 인간의 계정 모두에 대한 최상위 권한을 가지므로, 환경 변수나 보안 관리 도구를 사용하여 안전하게 보관해야 하며, 코드나 프롬프트에 직접 포함해서는 안 됩니다.
  • 감사 추적의 단순화: 모든 에이전트 작업은 해당 Agent Account의 권한으로 기록되므로, 웹훅이나 CLI를 통해 감사 추적이 용이합니다.

시사점

AI 에이전트의 안전하고 효율적인 운영을 위해서는 인간과 분리된 독립적인 신원을 부여하고, 각 에이전트의 역할에 맞는 최소 권한 원칙을 적용하며, API 키 관리를 철저히 하는 것이 필수적입니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions