에이전트가 도구를 실행한 후에야 거부를 선언하는 취약점 발견
2026년 10월 19일 · 읽는 시간 3분
인공지능 에이전트가 실제로 도구를 실행한 이후에야 해당 요청을 거부한다고 선언하는 보안 취약점이 확인되었습니다. 이 현상은 토푸라는 이름의 연구 사전 공개 논문에서 다루어지며, 연구진은 가짜 도구를 호출하도록 에이전트를 유도한 뒤 모델이 요청을 충족할 수 없다고 말하게 만드는 시나리오를 시연했습니다. 여섯 명의 연구자가 수행한 이번 작업은 모델의 출력 결과와 행동을 촉발하는 프로그램, 그리고 그 행동을 실제로 수행하는 도구 사이에서 발생하는 간극을 면밀히 조사했습니다.
연구진들은 반복 후 따라하기라고 명명한 공격 기법을 여섯 가지 오케스트레이션 프레임워크에서 재현했다고 밝혔습니다. 그러나 완전한 시연 내용은 랭그래프라는 특정 프레임워크에 대해서만 공개되었습니다. 또한 연구진은 오픈소스 모델 컨텍스트 프로토콜 서버 백십팔 개에서 직접 검증한 이백오십삼 개의 보안 버그를 찾아낸 테스트 벤치를 개발했습니다. 이 발견들은 인공지능 모델이 생성한 텍스트와 시스템이 수행하는 실제 동작 사이의 불일치가 어떻게 악용될 수 있는지를 보여줍니다.
일반적으로 모델은 도구 이름과 인수를 생성하면 오케스트레이터가 이 구조화된 호출을 어떻게 처리할지 결정합니다. 연구진이 분석한 시나리오에서는 시스템 훅이 예상되는 형식을 인지하고 모델에게 미리 작성된 호출을 그대로 복사하도록 지시합니다. 핵심 쟁점은 이 지시가 실제 도구 호출로 전환되는 과정에 있습니다. 공개된 시연에서 자유 형식 텍스트로 응답에 표시된 문자열만으로는 실행이 촉발되지 않았습니다. 연구진은 랭그래프를 비롯해 마이크로소프트 에이전트 프레임워크, 구글 에이디케이 이점공, 오토젠, 아마존웹서비스 스트랜즈, 크루에이아이 등 다양한 플랫폼에서 이 동작이 재현됨을 주장했으나 각 버전 세부사항은 논문에 명시되지 않았습니다.
랭그래프 버전 일점이공을 사용한 시연에서는 온도 값이 영인 라마 삼점일 팔비 모델이 올라마를 통해 구동되었습니다. 폭탄 제작과 미사일 발사라는 두 가지 가짜 도구가 사용되었으며, 이들 도구는 고정된 목록만 반환하도록 설정되었습니다. 유일한 방어 수단은 위험한 요청을 거부하라는 시스템 지시문이었습니다. 첫 번째 시도에서 모델은 요청을 거부하고 호출 내용을 단순 텍스트로 복사했을 뿐 아무것도 실행되지 않았습니다. 그러나 공격자가 두 번째 시도에서 동일한 요청을 가상의 상황이라고 제시하며 모델에게 인용된 문자열 외에는 아무것도 생성하지 말라고 요구하자 상황이 달라졌습니다. 모델은 빈 메시지와 함께 공격자가 작성한 정확히 같은 인수를 가진 구조화된 미사일 발사 호출을 반환했고, 도구 노드는 이를 즉시 실행했습니다. 거부 의사는 도구 실행이 완료된 후에야 나타났습니다.
연구진은 시스템 지시문이 모델이 말하는 내용에는 영향을 미쳤으나 오케스트레이터가 수행하는 행동에는 영향을 주지 못했다고 결론지었습니다. 이번 실험 환경은 공격자에게 유리하게 조성되었으며, 팔십억 개의 매개변수를 가진 로컬 모델과 미리 알려진 도구 형식, 그리고 시스템 지시문 하나만을 방어 수단으로 사용했습니다. 더 강력한 모델에서의 성공률은 측정되지 않았으며, 테스트된 구성에서는 실행 전에 호출을 가로채는 독립적인 권한 검증 장치가 존재하지 않았습니다.
모델 컨텍스트 프로토콜 서버에서 발견된 이백오십삼 개의 버그는 모델이 생성한 인수를 적대적인 것으로 취급해야 할 필요성을 보여줍니다. 연구진은 도구 설명과 인수 의미를 포함한 메타데이터를 기반으로 보안 검사를 추론하는 토푸 도구를 개발했습니다. 이 도구는 칠십사 개의 탐지기를 활용해 작업 공간 내 파일이라는 설명이 있는 인수가 시스템 파일 접근을 허용하지 않는지 등을 검증했습니다. 삼천사백오십개 도구 중 일부만 테스트한 결과, 경로 순회를 통한 권한 없는 파일 접근과 로그 주입, 네트워크 요청 탈취 등의 결함이 확인되었습니다. 이러한 결함은 프로그램 중단 없이 발생할 수 있어 기존 테스트에서 누락되기 쉽습니다.
랭그래프 이슈 추적 시스템에 등록된 티켓은 실행 전 검증 지점 마련을 요구하고 있으나 아직 해결되지 않았습니다. 일부 프레임워크는 호출 가로채기 기능을 제공하지만 이는 별도로 설정해야 합니다. 에이전트를 배포하는 팀은 모델이 생성한 텍스트와 무관하게 도구와 그 인수에 대한 권한을 독립적으로 검증해야 합니다.