AI 에이전트가 문서를 읽고 API를 호출할 수 있게 되면, 답변 품질만으로는 안전을 설명할 수 없습니다. 중요한 것은 모델이 어떤 도구를 언제, 누구의 권한으로 실행할 수 있는가입니다.
도구 목록을 서버 정책으로 고정한다
사용자 메시지나 검색 문서에 '관리자 도구를 사용하라'는 문장이 들어 있어도 권한이 생겨서는 안 됩니다. 에이전트 런타임은 로그인 사용자, 업무 단계, 대상 데이터에 맞는 허용 도구 목록을 서버에서 계산해야 합니다. 모델에는 그 결과만 노출합니다.
읽기와 쓰기를 다른 권한으로 본다
고객 정보를 조회하는 도구와 고객 상태를 변경하는 도구는 위험이 다릅니다. 조회 가능하다고 수정까지 허용하면 프롬프트 인젝션이나 잘못된 추론이 실제 상태 변경으로 이어집니다. 고위험 쓰기는 별도 정책 검사와 승인 단계를 둡니다.
인자까지 검사해야 한다
도구 이름이 허용되어도 모든 인자가 안전한 것은 아닙니다. 예를 들어 보고서 조회 API라면 테넌트 ID, 기간, 조회 건수, 내보내기 형식을 다시 검증합니다. 모델이 생성한 인자를 신뢰하지 않고 일반 API 요청과 같은 인증·인가 절차를 거칩니다.
실행 기록은 제안과 결과를 분리한다
로그에는 어떤 사용자 요청에서 어떤 도구를 제안했고, 정책이 무엇을 허용했으며 실제 실행 결과가 무엇인지 남깁니다. 거절된 호출도 기록해야 우회 시도를 볼 수 있습니다. 민감한 값은 원문 저장 대신 필요한 식별자와 해시로 축소합니다.
시작은 작은 권한에서 한다
초기에는 읽기 전용 도구와 제한된 데이터 범위로 운영합니다. 실제 요청을 보며 필요한 권한만 추가하고, 자동 실행률보다 정책 위반·승인 반려율을 먼저 봅니다. 에이전트의 능력을 높이는 일과 권한을 넓히는 일은 별개의 변경입니다.
현장에 적용할 때의 순서
- 도구를 읽기·쓰기·외부 전송으로 분류한다
- 사용자와 대상별 허용 인자를 서버에서 검증한다
- 거절된 호출과 승인된 실행을 분리해 기록한다
주의할 실패: 프롬프트에 적힌 '허용' 문구를 서버 권한으로 착각하면 외부 문서가 실행 경로를 바꿀 수 있다.
관찰할 지표: 거절 호출률, 승인 반려율, 권한 밖 인자 요청을 추적한다.
적용 전 체크리스트
- 서버가 도구·인자·대상 범위를 검증하는가
- 문서나 사용자 프롬프트가 권한을 바꿀 수 없는가
- 거절과 실행 결과를 구분해 추적하는가
참고 자료
OWASP LLM07:2025 System Prompt Leakage. OWASP는 권한 검사를 모델 지시문에 맡기지 말고 애플리케이션 통제로 구현해야 한다는 위험을 설명합니다. 본문의 도구별 정책은 실무 적용 예시입니다.
이미지와 도식은 이해를 돕기 위한 개념 시각화입니다. 특정 고객의 실제 설비·데이터·화면을 재현한 것이 아닙니다.
#AI에이전트 #도구권한 #최소권한 #프롬프트인젝션 #서버정책 #에이전트보안 #업무자동화 #인가 #감사로그 #기업AI