- Simon Willison이 발표한 영상과 슬라이드 및 대본을 공개
- Prompt Injection = "AI 모델을 기반으로 구축된 어플리케이션에 대한 공격" "AI모델에 대한 공격이 아님"
- 번역 인젝션 예제 및 Edge Sidebar에서 실행되는 Bing을 공격하는 페이지 등에 대한 데모
- 내 AI 비서가 남의 명령을 듣게 된다면? (예로 암호 재설정 메일을 어딘가로 포워딩 하라는 프롬프트를 설명)
- 이에 대한 솔루션들로 Prompt begging 같은게 있지만 잘 안됨
- 나의 제안은.. 아주 좋지는 않지만 Dual Language Model 패턴으로 약간은 해결이 가능할 듯
- AI 비서를 2개의 서로 다른 LLM 으로 구성하는 것 : Privileged LLM 과 Quarantined LLM
- Privileged LLM
- 도구에 접근 가능
- 신뢰할수 있는 입력만 처리
- Quarantined LLM 에게 지시하지만, 그 입력이나 출력을 보지는 않음
- 토큰들로만 처리 "Summarize text $VAR1"
- "Display $SUMMARY2 to the User"
- Quarantined LLM
- 신뢰할 수 없는 입력에 대해서 태스크를 처리 (요약 등의 작업)
- 다른 어떤 것에도 접근은 불가능
- 모든 입력과 출력은 더럽혀졌다고 가정 - Privileged LLM 으로 아무런 것도 직접 넘기지 않음
- 프롬프트 인젝션은 이해하지 못하면, 대응방법을 구현하기 불가능한 매우 나쁜 보안 취약점임
- 언어 모델 위에 구축된 모든 애플리케이션은 기본적으로 이 문제에 취약함
- 프롬프트 인젝션을 솔루션이 없어서, 어플리케이션을 안전하게 개발하지 못한다면 "No"라고 얘기해야 할 때도 있음
- 개발자로서 "그건 불가능해요" 라고 얘기하는 사람이 되는건 정말 싫지만, 이 경우에는 정말 중요하다고 생각