당신의 에이전트가 메시지를 받았습니다. 발신자를 신뢰해야 할까요? IETF가 이를 위한 프로토콜을 발표했습니다.
요약
IETF가 에이전트 간 메시징 보안을 위한 '에이전트 신뢰 전송 프로토콜(ATTP)' 초안을 발표했습니다. 이 프로토콜은 프롬프트 인젝션 등 에이전트 네트워크 오염을 방지하기 위해 메시지 계층에서 5차원 신뢰 점수 모델을 적용합니다.
핵심 포인트
- IETF의 ATTP 프로토콜은 암호화된 신원 확인과 이상 탐지를 포함함
- 기존의 주장(Claim) 기반 신뢰 모델은 LLM의 취약점에 노출될 위험이 있음
- 신뢰 검증은 리소스 소모 전인 메시지 계층(Message Layer)에서 이루어져야 함
- 5차원 신뢰 점수 모델을 통해 복합적인 신뢰도를 산정함
당신의 에이전트는 다른 에이전트들로부터 시간당 200개의 메시지를 받습니다. 어떤 것은 데이터를 요청하고, 어떤 것은 협업을 제안하며, 어떤 것은 결제 의도를 담고 있습니다. 당신의 에이전트는 메시지에 따라 행동하기 전에 발신자의 신뢰성을 평가할 메커니즘이 없기 때문에 이 모든 메시지를 처리합니다.
이것이 프롬프트 인젝션 (Prompt Injection) 공격이 에이전트 네트워크 전반에 걸쳐 확산되는 방식입니다. 이것이 단 하나의 침해된 에이전트가 전체 스웜 (Swarm)을 오염시키는 방식입니다. 그리고 이것이 바로 IETF가 최근 draft-sharif-attp-00: 에이전트 신뢰 전송 프로토콜 (Agent Trust Transport Protocol, ATTP)을 발표한 이유입니다. 이 프로토콜은 암호화된 신원 확인 (Cryptographic Identity Verification), 지출 한도 계층 (Spend Limit Tiers), 그리고 이상 탐지 (Anomaly Detection)를 포함하는 5차원 신뢰 점수 모델입니다.
신뢰는 더 이상 선택 사항이 아닙니다. 그것은 프로토콜 계층 (Protocol Layer)입니다.
에이전트 메시징에서 "주장 (Claim)" 기반 신뢰가 실패하는 이유
A2A 프로토콜은 피어 디스커버리 (Peer Discovery)를 위해 에이전트 카드 (Agent Cards)를 사용합니다. 에이전트 카드는 "나는 에이전트 X이며, Y를 할 수 있고, Z에 위치해 있다"와 같이 스스로 선언한 주장 (Claim)입니다. 문제는 어떤 엔티티라도 무엇이든 주장하며 에이전트 카드를 게시할 수 있다는 점입니다. 악의적인 에이전트는 금융 분석가라고 주장할 수 있습니다. 침해된 에이전트는 적대적인 지시를 실행하면서도 원래의 카드를 유지할 수 있습니다.
에이전트 프로토콜의 신뢰 모델에 관한 arxiv 비교 연구는 6가지 메커니즘을 식별하고 다음과 같이 결론지었습니다: "순수하게 평판에 의존하거나 주장(Claim)에만 의존하는 접근 방식은 LLM 특유의 취약점(프롬프트 인젝션, 아첨 (Sycophancy), 환각 (Hallucination), 기만 (Deception))으로 인해 취약하다."
# 에이전트 메시징에서 주장 기반 신뢰가 실패하는 이유
class ClaimOnlyTrust:
...
5차원 신뢰 모델 (IETF ATTP)
에이전트 신뢰 전송 프로토콜 (Agent Trust Transport Protocol)은 신뢰를 단일한 이진 "신뢰함/신뢰하지 않음" 플래그가 아니라, 5가지 차원에 걸친 복합 점수로 정의합니다:
// rosud-call 메시징과 통합된 5차원 신뢰 점수 산정
import { RosudCall, TrustEngine } from 'rosud-call';
...
왜 신뢰는 애플리케이션 계층 (Application Layer)이 아닌 메시지 계층 (Message Layer)에 있어야 하는가
대부분의 신뢰 구현(Trust implementations)은 애플리케이션 계층 (Application Layer)에서 신뢰를 확인합니다. 즉, 메시지가 전달된 후에 애플리케이션이 해당 메시지에 따라 행동할지 여부를 결정합니다. 이는 너무 늦습니다. 애플리케이션이 신뢰를 평가할 때쯤이면, 메시지는 이미 리소스를 소비했고, 컨텍스트 윈도우 (Context Window)에 진입했으며, 잠재적으로 에이전트의 추론 (Reasoning)에 영향을 미친 상태이기 때문입니다.
메시지 계층 (Message Layer)에서의 신뢰는 신뢰할 수 없는 메시지가 에이전트의 처리 로직 (Processing Logic)에 절대 도달하지 않음을 의미합니다:
// 메시지 계층 vs 애플리케이션 계층에서의 신뢰
// 애플리케이션 계층 (너무 늦음):
...
시간에 따른 신뢰 구축
새로운 피어 (Peers)는 전달 임계값 (Delivery Threshold, 0.3) 미만의 기본 신뢰 점수로 시작합니다. 이들은 검증된 상호작용 (Verified Interactions)을 통해 신뢰를 쌓아갑니다:
// 새로운 피어를 위한 신뢰 구축 라이프사이클 (Trust building lifecycle)
const trustLifecycle = {
day0: {
...
rosud-call은 메시지 라우팅 계층 (Message Routing Layer)에서 신뢰 점수 산정 (Trust Scoring)을 구현합니다. 모든 피어는 다섯 가지 차원에 걸친 복합 신뢰 점수를 가집니다. 임계값 미만의 피어로부터 온 메시지는 에이전트에 도달하기 전에 차단됩니다. 결제가 포함된 메시지는 더 높은 신뢰를 요구합니다. 새로운 피어는 검증된 상호작용을 통해 신뢰를 구축합니다. 침해된 피어는 이상 탐지 (Anomaly Detection)를 통해 자동으로 신뢰를 잃습니다. 당신의 에이전트는 신뢰해서는 안 될 피어의 메시지를 절대 처리하지 않습니다.
결론
"이 메시지를 신뢰해야 하는가?"는 모든 에이전트가 답해야 할 첫 번째 질문입니다. A2A 프로토콜은 이에 대한 답을 제공하지 않습니다 (클레임 기반 (Claim-based)일 뿐입니다). IETF ATTP 초안은 이에 어떻게 답할 것인지(5차원 점수 산정)를 정의합니다. 하지만 둘 다 라우팅 계층에서 신뢰 결정을 강제하는 메시징 인프라를 제공하지는 않습니다.
메시지 전달 후에 발생하는 신뢰 점수 산정은 보안 연극 (Security Theater)에 불과합니다. 메시지 계층에서의 신뢰 점수 산정이 실제적인 방어입니다.
신뢰 점수가 적용된 에이전트 메시징 구축하기: rosud.com/rosud-call
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기