그록(Grok)이 악성 지시를 암호화해 웹페이지에 숨긴 프롬프트 인젝션 공격으로 사용자 이름·위치·대화 기록 등을 공격자 서버로 전송하는 공격이 확인됐다. 아스테크니카(Ars Technica)는 8월 20일 보안업체 아드베르사(Adversa) 연구진이 고안한 공격을 보도했다.
공격자는 평문 대신 암호문과 복호화 지시, 복호화 키를 웹페이지에 함께 올린다. 사용자가 그록에 해당 페이지를 요약하라고 요청하면 모델은 페이지에 포함된 지시를 따라 PBKDF2와 AES-256-GCM 방식으로 암호문을 해독한다. 복호화된 내용은 가짜 복호화 키를 만들도록 지시하지만, 실제 값에는 사용자의 이름과 위치, 채팅 기록이 담긴다.
이 값은 공격자 웹사이트로 연결되는 URL의 매개변수로 추가된다. 그록이 링크를 열면 정보가 공격자 서버의 로그에 기록되는 방식이다. 원문이 게시될 당시에도 그록은 이 공격을 계속 수행했으며, 아드베르사는 6월 xAI에 문제를 알린 상태였다고 아스테크니카는 전했다. 공격 과정에서 별도 경고나 사용자 확인은 나타나지 않았다.
아드베르사의 연구원 로니 우테프스키(Rony Utevsky)는 그록이 동일한 지시를 평문으로 받으면 거부하면서 암호화된 지시는 따르는 정확한 원인은 확정할 수 없다고 설명했다. 유력한 가설은 그록의 안전장치가 모델에 들어오고 나가는 텍스트는 검사하지만, 모델이 코드 실행 도구를 통해 산출한 결과는 검사하지 않는다는 것이다. 암호문을 해독하라는 요청 자체는 일반적인 작업처럼 보이기 때문에 분류기를 통과하고, 해독된 지시는 모델의 도구 출력으로 전달돼 필터를 거치지 않은 채 실행될 수 있다.
우테프스키는 정적 안전장치가 콘텐츠를 텍스트로만 읽을 뿐 코드를 실행하거나 암호를 해독하지 않는다고 지적했다. 공격자는 암호문과 키 자료, 해독 지시를 한꺼번에 제공하고 모델의 코드 실행 샌드박스 안에서 복호화하도록 만든다. 안전장치가 검사할 정보가 페이지에 모두 있어도, 평문을 복원하려면 실제 연산을 수행해야 해 콘텐츠 분류기가 이를 알아내기 어렵다는 것이다.
아드베르사는 비슷한 기법을 구글(Google)의 제미나이(Gemini) 탈옥 공격에도 사용했다. 당시 암호문은 오류 추적 정보처럼 보이는 내용으로 해독됐고, 오류가 발생하면 오류 메시지를 읽고 그에 따라 행동하라는 규칙이 모델에 주입됐다. 그 결과 제미나이는 안전 필터가 차단하던 소이 무기 제작 관련 제한 콘텐츠를 생성했으며, 수정된 공격문으로는 공개 금지된 시스템 지시까지 재현됐다.
아드베르사는 이 기법을 ‘암호학적 컨텍스트 주입’이라고 부르며, 공격 대상이 프롬프트뿐 아니라 도구 출력·실행 결과·중간 상태 등 모델이 자기 맥락으로 받아들이는 영역으로 확대되고 있다고 밝혔다. 제미나이는 최근 몇 주 동안 같은 공격에 대한 저항성이 높아졌지만, 필터 업데이트와 모델 버전 변경 중 무엇이 원인인지는 확인되지 않았다. 이번 사례는 새 안전장치를 추가할 때마다 다른 우회 경로가 생기는 대규모언어모델 보안의 한계를 보여준다고 아스테크니카는 평가했다.