본문으로 건너뛰기

도구 출력 주입과 에이전트 행동 기준선

도구 결과와 직후 호출을 한 사건으로 묶어 에이전트의 권한 오용을 잡는 방법

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

OWASP의 입력·출력·행동 필터는 에이전트 루프의 서로 다른 한 순간만 읽기 때문에, 도구 결과가 다음 도구 호출을 유도하는 관계 자체를 놓칠 수 있습니다. 공격자는 Jira 티켓 본문, GitHub PR 설명, CRM 메모처럼 외부 작성자가 자유롭게 입력할 수 있는 필드에 지시문을 넣고, 에이전트가 같은 턴 안에서 평소 사용하지 않던 목적지·테이블·경로를 호출하게 만듭니다. 이 호출은 도구 등록, 스키마, 세션 권한을 모두 통과하지만 에이전트의 과거 실행 기록에는 선례가 없다는 특징을 남깁니다. 글은 에이전트별 도구·인자·호출 순서·커널 활동 기준선을 구축하고, 도구 결과 직후 발생한 첫 호출을 하나의 사건으로 묶어 감사 모드에서 검증한 뒤 차단 모드로 전환하는 대응 순서를 권고합니다.

섹션별 상세

01
도구 출력은 Jira, GitHub, Salesforce, Postgres처럼 조직이 소유한 시스템에서 나와도 안전한 데이터가 아닙니다. 고객, 외부 기여자, 인바운드 이메일 파서, 웹 폼이 자유 텍스트 필드에 문장을 넣을 수 있기 때문입니다. 따라서 도구 이름이 아니라 에이전트가 읽는 반환 필드별로 작성자를 확인해야 하며, 고객이 입력한 티켓 본문과 외부 기여자의 PR 설명은 해당 시스템의 신뢰도와 무관하게 주입 경로가 됩니다.
02
OWASP의 입력 필터는 도구 결과를 모델이 읽기 전 콘텐츠로 판정하고, 행동 필터는 모델이 만든 다음 도구 호출을 원래 사용자 의도와 대조합니다. 두 필터는 각각 결과와 호출만 보므로, 결과가 에이전트의 다음 행동을 바꾼 관계는 어느 한쪽에도 함께 남지 않습니다. 특히 결과 직후 수백 밀리초 안에 발생한 호출은 최신 컨텍스트의 영향과 권한 있는 실행이 결합된 형태이므로, 정적인 지시문 필터만으로는 표적화된 공격을 안정적으로 가려내기 어렵습니다.
03
공격 성공 뒤의 호출은 등록된 도구, 유효한 스키마, 승인된 세션을 사용하므로 일반적인 권한 검사를 통과합니다. 대신 에이전트가 수개월 동안 사용하지 않았던 외부 이메일 주소, 고객 테이블, 파일 경로처럼 목적지나 인자 값에 첫 등장 기록을 남깁니다. 글은 InjecAgent 페이로드를 도구 설명에 옮긴 실험에서 공격 성공률이 거의 0에 가까워졌고, 같은 모델에서 설명용 페이로드는 41.8%에 도달했다는 비교를 통해 실행 결과의 최신성이 공격 조건에 미치는 차이를 제시합니다.
04
이 신호를 포착하려면 특정 에이전트가 사용한 도구, 인자 값, 호출 순서뿐 아니라 각 호출 아래에서 발생한 파일·프로세스·네트워크 활동까지 기준선에 포함해야 합니다. ARMO의 Application Profile DNA는 커널 수준 관찰로 이 실행 기록을 만들고, 새로운 도구나 처음 보는 인자를 결과 이벤트 직후의 호출로 묶어 Attack Story라는 한 타임라인에 기록합니다. 감사 모드에서는 차단 없이 편차율을 확인하고 운영 트래픽에 맞게 정책을 다듬은 뒤, 시행 모드에서 편차 호출을 중단하며 자격 증명 격리로 남은 읽기 시도의 결과도 무력화합니다.
05
실무 우선순위는 자유 텍스트 필드 수와 상태를 바꾸는 도구 수가 동시에 많은 에이전트에서 시작됩니다. 원격 개발 환경의 coding agent는 외부 기여자가 작성한 저장소 콘텐츠와 셸 실행, 네트워크, 클라우드 자격 증명을 한 런타임에서 함께 사용하므로 위험 조합이 커집니다. 구분자나 지시문 반복은 기회성 페이로드의 양을 줄이는 보조 수단으로 유지하되, 모델이 만든 호출과 에이전트의 과거 기록을 직접 대조하는 통제를 별도로 마련해야 합니다.

용어 해설

도구 출력 주입(Tool-Output Injection)
에이전트가 호출한 도구의 실행 결과에 공격자가 작성한 지시문을 섞어 다음 행동을 바꾸는 공격입니다. 결과 자체는 정상적인 데이터처럼 입력 필터를 통과할 수 있지만, 직후 발생하는 도구 호출과 결합될 때 권한 오용이나 정보 유출로 이어질 수 있습니다.
간접 주입(Indirect Injection)
사용자가 직접 입력하지 않은 외부 콘텐츠가 모델의 컨텍스트에 들어와 행동을 유도하는 공격 방식입니다. 티켓 본문, PR 설명, CRM 메모처럼 조직 내부 시스템에 저장된 자유 텍스트도 모델 입장에서는 외부 출처이므로 공격자가 문장을 삽입할 수 있으면 간접 주입 경로가 됩니다.
애플리케이션 프로필 DNA(Application Profile DNA (APD™))
특정 에이전트가 평소 사용하는 도구, 인자 값, 호출 순서와 하위 파일·프로세스·네트워크 활동을 실행 수준에서 기록한 행동 기준선입니다. ARMO는 이 기준선을 이용해 처음 등장한 목적지, 테이블, 경로처럼 에이전트의 과거 기록에 없는 변화를 식별합니다.
eBPF
Linux 커널 수준에서 파일, 프로세스, 네트워크 활동을 관찰할 수 있는 기술입니다. 이 글에서는 에이전트가 도구 호출 뒤 실제로 어떤 실행을 했는지 프레임워크별 코드 수정이나 사이드카 없이 수집하는 수단으로 쓰입니다.
이중 LLM 패턴(Dual-LLM Pattern)
신뢰할 수 없는 콘텐츠를 읽는 격리된 모델과 도구 권한을 가진 모델을 분리하는 구조입니다. 격리 모델의 출력은 고정된 라벨처럼 검증 가능한 값만 통제기를 거쳐 권한 모델로 전달되며, 검증되지 않은 텍스트가 실행 모델에 직접 도달하지 않도록 설계합니다.

기술

  • OWASP
  • Jira
  • GitHub
  • Salesforce
  • Postgres
  • RAG
  • Application Profile DNA (APD™)
  • eBPF
  • MCP
  • InjecAgent

활용 사례

  • 지원 티켓 분류 에이전트의 고객 입력 검증
  • 원격 개발 환경의 coding agent 보호
  • CRM·주문 데이터·지식 베이스를 사용하는 업무 에이전트 감시
  • 도구 호출 뒤 새로운 목적지·테이블·파일 경로 차단
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 09. 08.수집 2026. 09. 09.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.