← BLOGAI 산업

AI 에이전트의 데이터 유출 위험을 줄이는 권한 설계

민감한 자료, 외부에서 온 콘텐츠, 외부 통신이 결합하면 프롬프트 인젝션 피해가 커질 수 있다. 접근 범위와 실행 권한을 점검하는 방법.

에이전트가 읽은 이메일이나 웹페이지에는 작성자가 심어둔 지시가 들어 있을 수 있다. 그 지시를 사용자의 요청처럼 실행하면 내부 자료를 외부로 보내거나 원하지 않은 작업을 할 위험이 생긴다. 이를 프롬프트 인젝션이라고 한다.

이 문제는 입력 문장만 필터링해서 완전히 해결하기 어렵다. 모델이 읽을 수 있는 자료와 실행할 수 있는 도구의 범위를 함께 정해야 한다.

EchoLeak이 보여준 공격 경로

2025년 공개된 EchoLeak은 Microsoft 365 Copilot의 데이터 유출 가능성을 보여준 취약점이다. 연구 사례는 조작된 이메일과 외부 요청 기능을 연결해 사용자의 별도 클릭 없이 정보를 유출할 수 있는 경로를 설명한다.

이는 공개된 연구에서 입증한 취약점으로, 실제 고객 데이터가 유출된 사건으로 바꾸어 설명해서는 안 된다. 취약점의 존재와 실제 악용 여부는 구분해야 한다.

세 가지 권한이 함께 있을 때

Simon Willison은 lethal trifecta라는 글에서 민감한 데이터 접근, 신뢰할 수 없는 콘텐츠 노출, 외부 통신 능력이 결합할 때의 위험을 설명했다.

에이전트가 내부 문서를 읽고 외부 이메일을 참고하며 웹 요청까지 보낼 수 있다면, 외부 문서에 들어온 지시가 내부 데이터를 외부로 옮기는 데 사용될 수 있다. 도구 하나씩만 검토하면 보이지 않던 경로가 도구의 조합에서 생기는 것이다.

세 조건 중 일부를 제거하면 해당 유출 경로를 줄일 수 있다. 다만 한 조건만 없다고 모든 보안 문제가 해결되는 것은 아니다. 잘못된 삭제, 권한 남용, 결과 변조 같은 다른 위험은 남을 수 있다.

자료의 내용과 실행 지시를 분리한다

외부 자료는 작업에 참고할 데이터로 취급한다. 문서 속 “이전 지시를 무시하라”는 문장을 사용자 명령으로 받아들이지 않도록 구성해야 한다. 모델에 이 원칙을 알려주는 것과 함께 실제 실행 권한도 제한한다.

예를 들어 자료를 분석하는 단계에는 발송 권한을 주지 않고, 외부로 전송하는 단계에서 대상과 내용을 확인할 수 있다. 전송 가능한 주소나 도메인을 좁히고, 작업에 필요하지 않은 내부 자료에는 접근하지 않게 한다.

도구 조합을 실제로 검증한다

읽기 전용이라고 생각한 도구도 이미지나 링크를 자동으로 불러오며 외부 통신을 할 수 있다. 화면에 결과를 표시하는 과정까지 포함해 어떤 정보가 밖으로 나가는지 확인해야 한다.

권한을 추가할 때는 정상 기능만 시험하지 않는다. 외부 문서가 작업을 다른 방향으로 유도할 때 이를 따르는지, 허용하지 않은 대상에 요청을 보내는지 확인한다. 차단된 시도와 실행 기록을 남기면 문제가 생겼을 때 경로를 추적할 수 있다.

에이전트가 일을 끝내는 데 필요한 권한은 주되, 그 권한으로 접근하고 변경할 수 있는 범위를 명확히 정하는 것이 기본이다.