Agent Fixer Stage: AI 에이전트 출력을 위한 가벼운 수호자
문제점: 멀티 에이전트 워크플로 (multi-agent workflow)에서 공격자가 프롬프트 인젝션 (prompt injection)을 통해 중간 에이전트를 장악하면, 전체 체인이 소리 없이 오염됩니다. 더 큰 모델일수록 더 취약하며, 덜 취약하지 않습니다.
해결책: 사용자에게 전달하기 전에 출력을 검토하는 터미널 "Fixer" 단계 (stage)입니다. McAllister et al. (2026)의 논문에 따르면, 가벼운 Fixer는 성능 저하 (performance drop)를 53.7%에서 0.6%로 급감시킵니다.
무엇인가요?
Agent Fixer Stage는 모든 멀티 에이전트 워크플로의 마지막에 배치되어 출력이 주입된 악의적인 명령을 포함하지 않는지 확인하는 가벼운 Python 라이브러리 (~850줄)입니다.
from agent_fixer import AgentFixer
fixer = AgentFixer(
...
아키텍처: 3단계 단락 가능 (short-circuitable) 레이어
- 레이어 0: 회피 방지 정규화 (anti-evasion normalization) (unicode, homoglyphs, leetspeak) — ~5ms
- 레이어 1: 가중치 점수 기반 패턴 매칭 (pattern matching with weighted scoring) (30개 이상의 패턴, 3회 통과) — ~20ms
- 레이어 2: TF-IDF 임베딩 (Embeddings) + 코사인 유사도 (cosine similarity) (회색 지대만 해당) — ~5ms
모든 레이어는 단락 가능 (short-circuitable)합니다: 점수가 매우 낮으면, 비용이 많이 드는 레이어를 실행하지 않습니다.
추정 탐지 능력
| 공격 유형 | 효과 |
|---|
| 직접 인젝션 (curl, wget, os.system) | ~95% |
| ... | |
벤치마크 (Benchmarks)
모든 티어 (tiers)는 1밀리초 미만입니다:
- fast (clean): 평균 0.04ms
- fast (attack): 평균 0.06ms
- medium (clean): 평균 0.04ms
테스트 (Tests)
정규화, 회피, 민감도 (sensitivity), 점수 산정 (scoring), 스팬 클리닝 (span cleaning), 배치 (batch) 및 임베딩 (embeddings)을 다루는 42개의 테스트 통과 (0.11s).
⚠️ 경고
이 시스템은 무결하지 않습니다. 이는 공격 표면을 크게 줄여주는 심층 방어 (defense in depth)이지만, 100% 탐지를 보장하지는 않습니다. 완전한 보안 전략의 한 계층으로 사용하십시오.
MCP Core Defense와의 통합
MCP Core Defense (사전 등록) → 도구 (TOOLS)를 감사
Agent Fixer Stage (런타임) → 출력 (OUTPUTS)을 감사
이들은 동일한 문제에 대한 상호 보완적인 계층들입니다.
설치 및 사용
pip install agent-fixer-stage
# CLI
python3 agent_fixer.py --scope "Escribe factorial" --output "..." --mode medium
...
다음 단계
- 계층 3: 조건부 LLM judge (회색 지대 전용, 5% 미만의 빈도)
- 코드 수정 없이 패턴을 설정하기 위한 YAML 파일
- 변형 자동 생성을 이용한 퍼징 테스트 (Fuzzing tests)
링크
라이선스: AGPL-3.0-or-later
Sil / OWL — Hermes Agent