https://owasp.org/www-chapter-seoul/assets/files/LLMAll_ko-KR-2025-04-02.pdf
LLM 기반 시스템은 종종 개발자로부터 일정 수준의 자율성을 부여받습니다. 확장 기능을 통해 함수 호출이나 다른 시스템과의 인터페이스를 수행하여 프롬프트에 대한 응답으로 특정 작업을 수행하는데, 확장 호출 권한 또한 LLM Agent에게 위임될 수 있으며, 이는 입력되 프롬프트나 LLM 출력에 의해 동적으로 결정됩니다.
이러한 권한 부여는 사용자에게 편리함과 자동화에 도움이 될 수 있지만 과도한 위임은 LLM이 오작동하는 원인과 상관없이, 예상치 못한 입력, 애매한 프롬프트, 또는 조작된 출력에 의해 손상될 수 있는 작업을 수행하도록 만드는 취약점입니다.
이러한 위임은 기밀성, 무결성, 가용성 측면에서 다양한 영향을 초래할 수 있으며, LLM 기반 애플리케이션이 상호 작용할 수 있는 시스템에 따라 달라집니다.
취약점 예시는 다음과 같습니다.
- 과도한 기능 : LLM 에이전트는 시스템의 의도된 작동에 필요하지 않은 기능이 포함된 확장 기능에 액세스 할 수 있습니다. 이를테면 문서를 읽는 기능이 필요할 때 주어지는 확장 기능에는 문서를 수정하고 삭제하는 기능도 포함되어 있습니다.
또한 개발 단계에서 더 나은 대안을 위해 확장 기능이 시험되었다가 삭제되었을 수 있지만, 원래 플러그인은 LLM 에이전트에서 계속 사용할 수 있습니다. - 과도한 권한 : 위와 어느정도 비슷하게 과한 권한을 가지고 있는 경우입니다. 데이털르 읽기 위한 확장 프로그램은 SELECT 권한 외에 UPDATE,INSERT 등의 권한이 있는 ID를 이용하여 서버에 연결합니다.
- 과도한 자율성 : LLM 기반 애플리케이션 또는 확장 프로그램이 영향력이 큰 작업을 독립적으로 확인 및 승인하지 못합니다. 예를들어, 이용자의 문서를 삭제할 수 있는 확장 프로그램이 이용자의 확인 없이 삭제를 수행합니다.
공격 시나리오 예시는 다음과 같습니다.
공격 시나리오 예시
LLM 기반 개인 비서 앱이 이용자의 메일함에 접근할 수 있는 확장을 통해 들어오는 이메일의 내용을 요약합니다. 이런 기능을 위해 확장프로그램은 메세지를 읽을 수 있는 기능이 필요하지만, 개인 사용자가 선택한 플로그램은 메세지를 보내는 기능을포함하고 있습니다. 이런 경우 악의적으로 작성된 이메일에 의해 프롬프트 인젝션이 발생할 수 있으며, 민감 정보를 공격자의 이메일로 전달할 수 있도록 명령할 수 있습니다.
이런 상황에서 문제를 예방하기 위해, 이메일 읽기 기능만을 구현하는 프로그램을 사용하거나, 읽기 전용의 OAuth 세션을 통해 이용자의 이메일 서비스에 인증하여 권한을 최소화합니다. 또한 LLM 확장자로 작성된 이메일에 사용자가 수동검토를 통해 '보내기'를 하도록 요구할 수 있습니다.
예방 및 완화 전략입니다.
예방 및 완화 전략
굉장히 많은 조치가 있는데
- 확장 기능 최소화 : LLM이 호출할 수 있는 확장 기능을 최소한으로 제한해야합니다.
- 확장 기능 범위 최소화 : LLM 확장에서 구현되는 기능을 최소한으로 해야합니다.
- 개방형 확장 기능 방지 : 범위가 열린 확장 기능(쉘 명령 실행, URL 가져오기 등)을 사용하지 말고, 보다 세분화된 기능을 제공하는 확장을 사용합니다.
- 확장 권환 최소화 : 다른 시스템에 부여받는 권한을 최소한으로 제한하여, 원치 않는 작업의 범위를 줄여야합니다.
- 이용자 컨텍스트 확장 실행 : 이용자의 권한과 보안 범위를 추적하여, 작업이 컨텍스트에서 최소 권한으로 실행되도록 합니다.
- 이용자 승인 요구 : 사람이 개입하는 통제를 적용하여, 고위험 작업 수행 전 사람의 승인을 받도록 합니다.
- 완전한 중재 : LLM에 의존하여 작업의 허용 여부를 결정하는 대신 다운스트림 시스템에서 권한을 구현해야 합니다.
- LLM 입력 및 출력 정리 : OWASP의 ASVS 권장 사항을 적용하는 등 코딩 모범 사례를 따르며, 입력 정리에 강한 집중을 해야합니다.
사실 내용이 거의 비슷비슷하지만 AI의 자율성에 대한 제한을 하는 level에 차이가 조금씩 있는 것 같습니다.
다른 파트는 실질적으로 사용하면서 느꼈던 부분이 없었는데 이런 권한과 관련된 부분은 openclaw 설정을 하면서 생각을 해봤던 부분이라 조금 생각이 드는 것 같네요.
읽어주셔서 감사합니다.
'AI' 카테고리의 다른 글
| [AI] LLM OWASP 08 : 벡터 및 임베딩 취약점 (0) | 2026.03.07 |
|---|---|
| [AI] LLM OWASP 07 : 시스템 프롬프트 유출 (0) | 2026.03.07 |
| [AI] LLM OWASP 05 : 부적절한 출력 처리 (0) | 2026.03.06 |
| [AI] LLM OWASP 04 : 데이터 및 모델 오염 (0) | 2026.03.06 |
| [AI] LLM OWASP 03 : 공급망 (0) | 2026.03.06 |