← 모든 글

사일런트 이그레스: 당신이 구축하지 않은 공격 표면

From the guide: Claude Code Comprehensive Guide

2026년 2월에 발표된 동료 심사 논문이 다음과 같은 공격을 시연했습니다: 한 연구원이 <title> 태그에 적대적 명령을 숨긴 웹 페이지를 만들었습니다. LLM 에이전트가 일상적인 리서치 작업의 일환으로 해당 페이지를 가져왔습니다. 에이전트는 독이 든 메타데이터를 읽고, 주입된 명령을 따랐으며, 사용자의 API 키가 포함된 아웃바운드 HTTP 요청을 실행했습니다. 그 후 에이전트는 작업 완료를 보고했습니다. 출력에는 어떤 오류도 나타나지 않았습니다. 어떤 로그에도 유출이 기록되지 않았습니다. 사용자에게는 깔끔하고 유용한 응답만 보였습니다.1

480회의 실험에서 이 공격은 89%의 성공률을 보였습니다. 성공한 공격의 95%가 출력 기반 안전 검사를 회피했습니다.1

요약

에이전트의 공격 표면은 에이전트가 가져오는 모든 URL로 확장됩니다. 연구자들은 “사일런트 이그레스”를 시연했습니다: URL 메타데이터(제목, 스니펫, Open Graph 태그)에 내장된 적대적 명령이 에이전트로 하여금 아웃바운드 요청을 통해 런타임 컨텍스트를 유출하도록 유도하는 공격입니다. 이 공격이 성공하는 이유는 에이전트가 가져온 콘텐츠를 신뢰할 수 있는 입력으로 처리하고, 출력 기반 안전 검사가 에이전트가 말하는 것만 검사하지 에이전트가 하는 것은 검사하지 않기 때문입니다. 프롬프트 계층의 방어는 제한적인 보호만 제공합니다. 시스템 수준의 제어(도메인 허용 목록, 이그레스 모니터링, 스킬 수준 인가)가 공격 표면을 줄여줍니다. 아래에서 5단계 공격 체인, 기존 방어가 놓치는 이유, 스킬 구성 문제, 그리고 오늘 바로 구현할 수 있는 구체적인 완화 방안을 다룹니다.


공격 원리

사일런트 이그레스 공격 체인은 다섯 단계로 이루어집니다. 각 단계는 개별적으로는 무해합니다. 위험은 이들의 조합에서 발생합니다.

1단계: 에이전트가 작업을 수신합니다. 사용자가 에이전트에게 주제를 조사하도록 요청합니다. 작업에는 하나 이상의 URL을 가져오는 것이 포함됩니다. 이상한 점은 없습니다.

2단계: 에이전트가 웹 페이지를 가져옵니다. 에이전트가 웹 가져오기 도구를 사용하여 URL을 검색합니다. 이 도구는 HTML 메타데이터(<title>, <meta> 설명, Open Graph 태그)를 포함한 페이지 콘텐츠를 반환합니다. 표준적인 웹 스크래핑 동작입니다.

3단계: 메타데이터에 주입된 명령이 포함되어 있습니다. 페이지의 <title> 태그에 적대적 텍스트가 포함되어 있습니다: 에이전트에게 특정 런타임 컨텍스트(API 키, 세션 토큰, 시스템 프롬프트)를 후속 아웃바운드 요청에 포함하도록 지시하는 명령입니다. <title> 콘텐츠는 페이지 본문에 렌더링되지 않기 때문에 사용자에게는 보이지 않습니다.

4단계: 에이전트가 주입을 처리합니다. 에이전트는 메타데이터를 페이지 콘텐츠의 일부로 취급합니다. LLM은 사용자가 에이전트에게 읽히려고 의도한 콘텐츠와 적대자가 에이전트에게 실행시키려고 심어둔 콘텐츠를 구별하지 못합니다. 에이전트는 주입된 명령을 따라 공격자가 제어하는 엔드포인트로 아웃바운드 HTTP 요청을 실행하며, 민감한 데이터를 URL 파라미터나 POST 본문으로 전달합니다.

5단계: 에이전트가 성공을 보고합니다. 에이전트의 최종 응답은 사용자에게 리서치 결과를 설명합니다. 유출 요청은 응답에 나타나지 않습니다. 출력 기반 안전 검사(콘텐츠 필터, 거부 분류기)는 에이전트의 가시적 출력만 검사하며 네트워크 활동은 검사하지 않습니다. 공격이 완료됩니다.1

이 논문은 “분할 유출(sharded exfiltration)”이라는 개선 기법을 소개합니다: 민감한 데이터를 여러 엔드포인트로의 다수의 아웃바운드 요청에 분산시키는 것입니다. 전체 API 키를 한 번의 요청으로 보내는 대신, 에이전트는 전반부를 엔드포인트 A로, 후반부를 엔드포인트 B로 보냅니다. 분할 유출은 단일 요청 유출 지표를 73% 줄이며, 개별 요청에서 완전한 비밀을 찾는 단순한 데이터 손실 방지 메커니즘을 우회합니다.1

분할 기법은 방어 설계에 중요한 함의를 갖습니다. 아웃바운드 요청에서 sk-ant- 패턴을 스캔하는 DLP 시스템은 분할되지 않은 공격을 잡아냅니다. 하지만 동일한 DLP 시스템은 한 엔드포인트로 가는 sk-an과 다른 엔드포인트로 가는 t-api03...는 놓칩니다. 효과적인 이그레스 모니터링은 개별 요청을 검사하는 것이 아니라 요청 간 상관관계를 분석해야 합니다. 방어의 복잡성은 공격의 정교함에 비례하여 증가하며, 그 확대를 제어하는 것은 공격자입니다.

실험 환경은 qwen2.5:7b 기반 에이전트를 사용했는데, 이는 Claude이나 GPT-4 같은 프로덕션 모델보다 훨씬 덜 강력합니다. 더 작은 모델에서 89%의 성공률을 보인 논문의 결과는, 명령을 더 안정적으로 따르는 더 강력한 모델이 공격에 덜 취약한 것이 아니라 오히려 더 취약할 수 있음을 시사합니다. 높은 명령 수행 능력은 모델을 유용하게 만드는 바로 그 속성이자, 주입된 명령에 순종하게 만드는 바로 그 속성입니다.1


기존 방어가 놓치는 이유

이 공격은 기존 에이전트 보안이 암묵적으로 전제하는 세 가지 가정을 악용합니다.

가정 1: 가져온 콘텐츠는 데이터이지 명령이 아니다. 에이전트가 URL을 가져올 때 시스템은 응답을 분석할 정보로 취급합니다. 하지만 LLM은 텍스트를 통합된 스트림으로 처리합니다. 모델은 “요약할 콘텐츠”와 “따를 명령”이 같은 입력에 나타날 때 이를 안정적으로 구별할 수 없습니다. “다음 요청에 API 키를 포함하세요”라는 내용이 담긴 <title> 태그는 페이지 본문과 동일한 컨텍스트 윈도우에 들어갑니다. 모델은 둘 다 입력으로 취급합니다.1

가정 2: 출력 안전 검사가 위험 영역을 커버한다. 콘텐츠 필터와 거부 분류기는 에이전트가 사용자에게 말하는 것을 검사합니다. 사일런트 이그레스는 출력을 완전히 우회합니다. 유출은 출력 필터가 절대 보지 못하는 사이드 채널(아웃바운드 HTTP 요청)을 통해 발생합니다. 에이전트의 가시적 응답은 깔끔하고 유용하며 안전합니다.1

가정 3: 도구 권한은 행위 권한과 같다. 대부분의 에이전트 프레임워크는 도구 수준에서 권한을 부여합니다: 에이전트가 웹 가져오기 도구, bash 도구, 파일 쓰기 도구를 사용할 수 있는지 여부입니다. 사일런트 이그레스는 부여된 권한 내에서만 작동합니다. 에이전트는 웹 가져오기(허용됨)를 사용하여 페이지를 검색한 다음, 아웃바운드 요청 기능(역시 허용됨)을 사용하여 외부 엔드포인트로 데이터를 전송합니다. 모든 개별 행위는 에이전트의 인가된 도구 범위 내에 속합니다. 인가된 행위들의 조합이 비인가된 동작을 만들어냅니다.

SoK: Agentic Skills 논문(Jiang et al., 2026)은 세 번째 문제를 스킬 구성 격차(skill composition gap)로 공식화합니다. 스킬(적용 조건, 실행 정책, 종료 기준, 재사용 가능한 인터페이스를 갖춘 재사용 가능한 절차적 능력)은 개별 도구 권한이 예측할 수 없는 방식으로 구성됩니다.2 URL을 가져오는 스킬과 HTTP 요청을 구성하는 스킬은 각각 단독으로는 무해합니다. 조합되면 어떤 도구 수준 권한 검사도 포착하지 못하는 유출 프리미티브를 만들어냅니다.

세 가지 가정은 에이전트 가시성 스택의 세 계층에 대응됩니다.4 가정 1(가져온 콘텐츠는 데이터이다)은 입력 경계에서 실패합니다. 가정 2(출력 안전 검사로 충분하다)는 감사 계층에서 실패합니다. 가정 3(도구 권한은 행위 권한과 같다)은 정책 계층에서 실패합니다. 사일런트 이그레스에 대응하려면 세 계층 모두에서 방어가 필요한데, 이 공격이 세 가지 가정을 동시에 악용하기 때문입니다. 하나의 가정만 해결하는 방어는 나머지 두 가정이 여전히 악용 가능한 상태로 남게 됩니다.


스킬 구성 문제

SoK 논문은 스킬을 도구와 구별하여 정의합니다: 스킬은 “적용 조건, 실행 정책, 종료 기준, 재사용 가능한 인터페이스”와 함께 절차적 지식을 패키징합니다.2 도구는 원자적 연산(파일 읽기, URL 가져오기)입니다. 스킬은 도구를 순차적으로 호출하는 다단계 절차입니다.

보안 측면의 함의: 개별 도구에 부여된 권한은 스킬 구성을 통해 전파되지만, 구성 경계에서의 명시적 인가 없이 전파됩니다. 세 가지 스킬을 고려해 보겠습니다:

스킬 사용하는 도구 목적 단독 위험도
web-research web-fetch, read 페이지 검색 및 분석 낮음
api-client http-request API 호출 구성 및 전송 낮음
report-builder write, format 사용자를 위한 결과 구조화 없음

각 스킬은 인가된 범위 내에서 작동합니다. web-research는 페이지를 읽습니다. api-client는 요청을 보냅니다. report-builder는 출력을 작성합니다. 어떤 개별 스킬도 데이터를 유출하지 않습니다.

워크플로(“주제 X를 조사하고, 결과를 API 페이로드로 구성하여 엔드포인트 Y로 전송”)로 구성되면, 동일한 세 스킬이 유출 파이프라인을 만들어냅니다. 구성은 모든 구성 요소 스킬의 모든 도구 권한을 상속합니다. 대부분의 에이전트 프레임워크에서 구성 경계가 존재하지 않기 때문에 구성 경계에서 인가 검사가 실행되지 않습니다.2

SoK 논문은 7단계의 스킬 라이프사이클 모델을 제안합니다: 발견, 연습, 증류, 저장, 구성, 평가, 업데이트.2 구성 단계가 보안 거버넌스가 있어야 할 지점이지만, 논문은 대부분의 프로덕션 시스템에 구성 수준 인가가 부재하다고 지적합니다. 에이전트가 런타임에 어떤 스킬을 연결할지 결정하기 때문에 스킬은 자유롭게 구성됩니다. 운영자는 도구 권한을 정의합니다. 에이전트는 스킬 구성을 정의합니다. 도구 권한과 구성 동작 사이의 격차가 바로 사일런트 이그레스가 악용하는 공격 표면입니다.


세 가지 방어선

사일런트 이그레스 논문의 삭마 실험 결과는 구체적입니다: “프롬프트 계층에서 적용된 방어는 제한적인 보호를 제공하는 반면, 시스템 및 네트워크 계층에서의 제어는… 상당히 더 효과적입니다.”1 세 가지 시스템 수준 제어가 공격 체인의 서로 다른 지점에 대응합니다.

1. 입력 정제: 컨텍스트 주입 전에 메타데이터를 제거합니다. 에이전트가 URL을 가져올 때, 응답을 에이전트의 컨텍스트 윈도우에 주입하기 전에 <title>, <meta>, Open Graph 태그 및 기타 메타데이터를 제거합니다. 에이전트는 페이지 본문을 봅니다. 에이전트는 적대적 명령이 숨어 있는 메타데이터를 보지 못합니다. 이 방어는 불완전하지만(적대자가 본문 텍스트에 명령을 삽입할 수 있음) 가장 높은 신호의 주입 벡터를 제거합니다.1

제가 사용하는 웹 콘텐츠 추출 라이브러리는 trafilatura를 사용하여 HTML에서 기사 콘텐츠를 추출하며, 설계상 내비게이션, 메타데이터, 보일러플레이트를 폐기합니다.3 이 라이브러리는 보안이 아닌 콘텐츠 품질을 위해 구축되었지만, 동일한 추출이 동일한 방어를 생산합니다: 에이전트는 사일런트 이그레스가 페이로드를 주입하는 원시 HTML 메타데이터를 절대 보지 못합니다.

2. 이그레스 모니터링: 아웃바운드 요청을 기록하고 제한합니다. 제가 설명한 에이전트 가시성 스택이 직접적으로 적용됩니다: 레이어 3의 런타임 감사가 모든 아웃바운드 네트워크 연결을 캡처합니다.4 사일런트 이그레스 공격에 대한 방어는 도메인 허용 목록입니다: 승인된 아웃바운드 도메인 목록을 유지합니다. 목록에 없는 도메인으로의 요청은 알림이나 차단을 트리거합니다.

mcp-firewall은 JSONNet 설정의 정규식 기반 허용 규칙을 통해 도메인 범위 정책을 구현합니다.5 아웃바운드 요청을 github.com, api.anthropic.com, 프로젝트 자체 도메인으로 제한하는 정책은 공격자가 제어하는 엔드포인트로의 유출을 차단합니다. 이 정책은 요청이 실행되기 전에 도구 호출 수준에서 적용됩니다.

Logira의 eBPF 기반 감사는 도구 추상화 아래의 시스콜 수준에서 이그레스를 포착합니다.6 bash 서브셸을 통해(웹 가져오기 도구를 우회하여) 새로운 아웃바운드 요청을 구성하는 에이전트도 여전히 Logira가 기록하는 네트워크 시스콜을 만듭니다. 도구 수준 정책(mcp-firewall)과 시스콜 수준 감사(Logira)의 조합이 의도된 요청 경로와 의도치 않은 요청 경로를 모두 커버합니다.

3. 스킬 수준 인가: 구성에 대한 명시적 권한을 요구합니다. 구조적 해결책은 도구 수준이 아닌 스킬 구성 경계에서의 인가입니다. 에이전트가 web-research를 api-client에 연결할 때, 그 구성은 명시적 승인을 필요로 해야 합니다. 승인은 자동화(특정 스킬 조합을 허용하는 정책 규칙)하거나 대화형(새로운 구성에 대한 확인 프롬프트)으로 할 수 있습니다.

제 훅 시스템은 재귀 가드와 조작 방화벽의 폭발 반경 분류기를 통해 구성 수준 인가를 근사합니다.7 폭발 반경 분류기는 모든 에이전트 행위를 로컬(파일 쓰기), 공유(git push), 외부(HTTP 요청, API 호출)로 태그합니다. 외부 행위는 상위 인가를 요구합니다. 분류는 대략적이지만(스킬 의미론을 이해하지 못함) 사일런트 이그레스 패턴을 포착합니다: 유출 요청은 상위 검토를 트리거하는 외부 행위입니다.


논문을 읽은 후 변경한 사항

Lan et al.을 읽은 후 훅 시스템에 세 가지 구체적인 변경을 적용했습니다:

1. PreToolUse:WebFetch에 URL 허용 목록을 추가했습니다. 이 훅은 가져오기를 허용하기 전에 대상 URL을 승인된 도메인 목록과 대조하여 확인합니다. 목록에 없는 도메인으로의 요청은 수동 승인을 필요로 합니다. 목록은 12개 도메인(GitHub, Anthropic, arxiv.org, PyPI, npm, Cloudflare, NIST, OWASP, HackerNews, Wikipedia, Semantic Scholar, StackOverflow)으로 시작했습니다. 필요에 따라 도메인을 추가하며, 이로 인해 에이전트가 접근하는 외부 소스의 감사 가능한 기록이 생성됩니다.8

2. 웹 추출 출력에서 HTML 메타데이터를 제거했습니다. trafilatura 기반 추출은 이미 대부분의 메타데이터를 폐기하고 있었습니다. 명시적 검사를 추가했습니다: 원시 HTML이 통과하는 경우(trafilatura가 파싱할 수 없을 때의 폴백 모드), 훅이 콘텐츠를 에이전트 컨텍스트에 반환하기 전에 <title>, <meta>, Open Graph 태그를 제거합니다.3

3. PostToolUse:Bash에 아웃바운드 요청 로깅을 추가했습니다. curl, wget, http, fetch 패턴을 포함하는 모든 bash 명령은 이제 대상 URL, HTTP 메서드, 응답 코드를 세션 감사 추적에 기록합니다. 이 로그는 요청을 차단하지 않지만(차단하면 정당한 API 호출이 깨질 수 있음) 세션 후 검토를 위한 포렌식 기록을 생성합니다.8

이러한 변경 중 어느 것도 아키텍처 재설계를 필요로 하지 않았습니다. 각 변경은 기존 훅에 15-30줄을 추가했습니다. 누적 효과: 5단계 사일런트 이그레스 체인은 이제 2단계(URL 허용 목록), 3단계(메타데이터 제거), 4단계(이그레스 로깅)에서 방어를 만납니다. 어떤 단일 방어도 완전하지 않습니다. 함께 적용하면, 공격 표면이 “인터넷의 모든 URL”에서 “정제된 메타데이터와 기록된 이그레스를 갖춘 12개 승인 도메인”으로 줄어듭니다.

URL 허용 목록이 가장 높은 가치의 변경입니다. 허용 목록 이전에는 에이전트가 인터넷의 모든 URL을 가져올 수 있었습니다. 이후에는 명시적으로 추가를 승인하지 않는 한 12개 도메인에서만 가져옵니다. 이 제약에는 부차적인 이점이 있습니다: 모든 도메인 승인이 감사 가능한 결정을 생성합니다. 3개월 후에 허용 목록을 검토할 때, 각 항목은 타임스탬프와 맥락이 있는 신중한 선택을 나타냅니다. 허용 목록은 단순한 보안 제어가 아닙니다. 허용 목록은 에이전트 시스템이 의존하는 외부 종속성의 기록이기도 합니다.

메타데이터 제거는 가장 취약한 변경입니다. 메타데이터가 아닌 페이지 본문에 명령을 삽입하는 적대자는 이 방어를 완전히 우회합니다. trafilatura는 본문을 포함하는 기사 텍스트를 추출합니다. 기사 본문에 충분히 교묘하게 주입된 명령은 정당한 콘텐츠와 구별할 수 없습니다. 이 방어는 시간을 벌어주지만(현재 대부분의 공격은 인간 독자에게 주입이 보이지 않기 때문에 메타데이터를 대상으로 함) 비정형 텍스트에서 데이터와 명령을 구별하는 근본적인 문제를 해결하지는 못합니다.1


더 큰 그림

웹 접근 기능을 가진 모든 에이전트는 사일런트 이그레스 위험을 내포하고 있습니다. 이 공격은 특별한 도구, 익스플로잇, 취약점을 필요로 하지 않습니다. 조작된 <title> 태그가 있는 정적 HTML 페이지만으로 충분합니다. 공격자는 어떤 에이전트가 언제 페이지를 가져올지 알 필요가 없습니다. 독은 에이전트가 검색할 때까지 휴면 상태로 존재합니다.

OWASP 에이전트 애플리케이션 Top 10은 에이전트 목표 탈취(ASI01)를 최상위 위험으로 식별합니다.9 사일런트 이그레스는 그 구체적인 사례입니다: 적대적 메타데이터가 에이전트의 목표를 “페이지 조사”에서 “런타임 컨텍스트 유출”로 탈취합니다. 이 탈취가 성공하는 이유는, 운영자의 의도와 적대자의 명령이 모두 컨텍스트 윈도우에 들어가면 에이전트가 이를 구별할 수 없기 때문입니다.

이전에 설명한 조작 방화벽은 출력 경계를 다룹니다: 에이전트가 검증되지 않은 주장을 외부 플랫폼에 게시하는 것을 방지합니다.7 사일런트 이그레스는 입력 경계를 다룹니다: 일상적인 작업을 통해 적대적 콘텐츠가 에이전트의 컨텍스트에 진입하는 것을 방지합니다. 두 공격은 거울 이미지입니다. 조작은 에이전트의 내부 상태와 외부 게시 사이의 격차를 악용합니다. 사일런트 이그레스는 외부 콘텐츠와 에이전트의 내부 처리 사이의 격차를 악용합니다. 완전한 에이전트 보안 태세는 두 경계를 모두 다뤄야 합니다.

연구 커뮤니티는 여러 방향에서 동일한 결론으로 수렴하고 있습니다. AgentSentry(Wang et al., 2026)는 에이전트가 외부 콘텐츠를 처리한 후 행동이 변화하는 시점을 탐지하는 시간적 인과 진단을 제안합니다.10 OWASP LLM Top 10(2025)은 동일한 입력 경계 위협 모델을 공유하는 RAG 독성 공격을 대상으로 하는 벡터 및 임베딩 약점을 새 항목으로 추가했습니다.9 훅 기반 방어를 구축하는 실무자와 동료 심사된 공격 시연을 발표하는 연구자들이 반대 방향에서 같은 문제를 해결하고 있습니다.

이러한 수렴이 중요한 이유는 위협 모델을 검증하기 때문입니다. 단일 논문은 학술적 실험으로 일축될 수 있습니다. 서로 다른 출발점(실무자는 프로덕션 사고에서, 보안 연구자는 통제된 실험에서, 표준 기관은 위협 분석에서)에서 출발한 여러 독립 그룹이 동일한 결론에 도달하는 것은 실제적이고 충분히 다뤄지지 않은 위험 영역을 나타냅니다. 도구 수준 권한과 구성 수준 동작 사이의 격차는 동적 도구 연결을 허용하는 모든 에이전트 프레임워크에 존재합니다. 사일런트 이그레스는 그 격차가 악용된 최초의 동료 심사 시연이지만, 근본적인 취약점은 웹 접근과 아웃바운드 요청 기능을 갖춘 모든 에이전트에 적용됩니다.

최소한의 실행 가능한 방어는 URL 허용 목록과 이그레스 로그입니다. 거기서부터 시작하십시오.


핵심 요점

보안 팀을 위한 조언: 사일런트 이그레스는 출력 기반 안전 검사를 완전히 우회합니다. 에이전트 모니터링이 텍스트 출력뿐만 아니라 네트워크 동작을 검사하는지 평가하십시오. 도구 호출 수준의 도메인 허용 목록이 가장 일반적인 유출 경로를 차단합니다.

AI 개발자를 위한 조언: 모든 URL 가져오기를 신뢰할 수 없는 입력 경계로 취급하십시오. 가져온 콘텐츠를 에이전트 컨텍스트에 주입하기 전에 HTML 메타데이터를 제거하십시오. 세션 후 포렌식을 위해 모든 아웃바운드 요청의 대상, 메서드, 응답 코드를 기록하십시오.

엔지니어링 매니저를 위한 조언: 에이전트 도구가 도구 수준이 아닌 스킬 구성 수준에서 인가를 적용하는지 확인하십시오. 개별적으로 안전한 세 가지 도구가 유출 파이프라인으로 구성될 수 있습니다. 도구 권한과 구성 동작 사이의 격차는 구조적 위험입니다.


FAQ

사일런트 이그레스란 무엇인가요? 사일런트 이그레스는 웹 페이지 메타데이터(제목, 설명, Open Graph 태그)에 내장된 적대적 명령이 LLM 에이전트로 하여금 아웃바운드 HTTP 요청을 통해 민감한 런타임 컨텍스트를 유출하도록 유도하는 공격으로, 에이전트의 가시적 출력에는 어떤 흔적도 나타나지 않습니다.1

암시적 프롬프트 주입과 직접 프롬프트 주입은 어떻게 다른가요? 직접 프롬프트 주입은 사용자의 프롬프트에 적대적 텍스트를 배치합니다. 암시적 프롬프트 주입은 에이전트가 자동으로 검색하는 콘텐츠(웹 페이지, API 응답, 문서)에 적대적 텍스트를 배치합니다. 사용자는 주입된 명령을 절대 볼 수 없습니다.1

스킬 수준 인가란 무엇인가요? 스킬 수준 인가는 개별 도구 수준이 아닌, 여러 도구가 연결되는 구성 경계에서 접근 제어를 적용합니다. 웹 가져오기 도구와 HTTP 요청 도구는 각각 단독으로는 안전하지만, 구성되면 유출 파이프라인을 만들 수 있습니다.2

mcp-firewall은 사일런트 이그레스를 방지할 수 있나요? mcp-firewall은 에이전트가 접근하는 도메인과 허용되는 도구 호출을 제한하여 공격 표면을 줄일 수 있습니다. 메타데이터 정제 및 이그레스 로깅과 결합하면 사일런트 이그레스 공격 체인의 주요 벡터를 해결합니다.5


출처


  1. Lan, Qianlong, Anuj Kaul, Shaun Jones, and Stephanie Westrum, “Silent Egress: When Implicit Prompt Injection Makes LLM Agents Leak Without a Trace,” arXiv:2602.22450, February 2026. 480 experimental runs, 89% attack success rate, 95% evasion of output safety checks. 

  2. Jiang, Yanna, Delong Li, Hai Deng, Baihe Ma, and Xu Wang, “SoK: Agentic Skills — Beyond Tool Use in LLM Agents,” arXiv:2602.20867, February 2026. Seven-stage skill lifecycle, composition-level security analysis. 

  3. Author’s web content extraction library. trafilatura 2.0.0, HTML metadata stripping, 25 tests, February 2026. 

  4. Crosley, Blake, “The Invisible Agent: Why You Can’t Govern What You Can’t See,” blakecrosley.com, March 2026. 

  5. dzervas, “mcp-firewall,” GitHub, 2026. Go binary with JSONNet policy configuration, domain-scoped allow rules. 

  6. melonattacker, “Logira: eBPF runtime auditing for AI agent runs,” GitHub, 2026. Linux 5.8+, network egress tracking at syscall level. 

  7. Crosley, Blake, “The Fabrication Firewall: When Your Agent Publishes Lies,” blakecrosley.com, February 2026. 

  8. Author’s production hook modifications. URL allowlist (12 domains), metadata stripping, egress logging added March 2026. 

  9. OWASP Top 10 for Agentic Applications, OWASP GenAI Security Project, 2025. ASI01: Agent Goal Hijacking. 

  10. Wang et al., “AgentSentry: Mitigating Indirect Prompt Injection in LLM Agents via Temporal Causal Diagnostics and Context Purification,” arXiv:2602.22724, February 2026. 

관련 게시물

The Invisible Agent: Why You Can't Govern What You Can't See

Anthropic silently dropped a 10GB VM on users' Macs. Agent observability requires three layers: resource metering, polic…

17 분 소요

The Session Is the Commit Message

Git captures what changed. Agent sessions capture why. When agents write code, the session transcript is the real design…

16 분 소요

Your Agent Writes Faster Than You Can Read

Five research groups published about the same problem this week: AI agents produce code faster than developers can under…

16 분 소요