블랙박스 레드티밍으로 에이전트 AI의 위험을 찾아내는 법
채팅 평가를 넘어선 에이전트 AI의 다단계 위험을 블랙박스에서 자동으로 찾아내는 분류 체계 기반 레드티밍 프레임워크 해설
원문 논문 보기
Black-Box Red Teaming of Agentic AI: A Taxonomy-Driven Framework for Automated Risk Discovery는 arXiv 2609.09647로 공개된 연구이며, 원문 링크는 제목 아래에 걸어두었습니다. 이 연구는 에이전트 AI의 다단계 행동 위험을 블랙박스 상태에서 자동으로 찾아내기 위해 일곱 개 영역의 분류 체계와 시나리오 자동 생성기 SAGE-RT, 그리고 사람으로 검증된 심판 모델 평가를 하나로 묶은 프레임워크를 제안합니다.
제가 이 논문에서 가장 흥미롭게 본 부분은 발상의 전환인데요. 왜냐하면 지금까지 안전성 평가는 대체로 채팅창 속 한 문답을 들여다보는 데 머물렀기 때문입니다. 그런데 실제 에이전트는 채팅창 밖에 살고 있죠. 그래서 이 글에서는 그 간극이 왜 생기는지, 그리고 이 연구가 그 간극을 어떻게 메우려 하는지를 차례로 따라가 보겠습니다.
안녕하세요, 패트릭입니다, 채팅창 밖에서 일하는 에이전트 이야기부터 하겠습니다
안녕하세요, 패트릭 입니다.
여러분 팀에 새로 들어온 동료가 있다고 상상해 보시죠. 그런데 이 동료는 말만 하는 게 아니라 이메일을 읽고, 결제를 실행하고, 파일을 지우기도 합니다. 그렇다면 이 동료를 평가할 때 말솜씨만 보면 될까요?
저는 여기서 바로 다음 질문이 생겼습니다. 왜냐하면 요즘 에이전트들이 바로 그런 동료처럼 일하고 있기 때문입니다. 그래서 이 논문은 신뢰할 수 없는 입력을 읽고, 실제 권한을 가진 도구를 호출하고, 스스로 다음 행동을 정하는 에이전트의 모습을 출발점으로 삼는데요. 그리고 이런 모습은 예전의 챗봇과는 차원이 다른 보안 표면을 만든다고 말합니다. 특히 권한이 딸린 도구가 하나라도 엮이는 순간, 말 한마디의 실수가 아니라 행동 하나의 사고가 되기 때문에 평가의 눈높이도 달라질 수밖에 없죠.
왜 한 번 묻고 답하는 시험으로는 에이전트가 안 보일까요
채팅 평가에 익숙한 분이라면 이런 반문이 들 수도 있죠. 그런데 한 턴짜리 질문으로 충분하지 않나, 왜 여러 단계까지 봐야 하나 하는 것이죠. 하지만 에이전트의 실패는 대개 한 문장에서 터지지 않습니다. 왜냐하면 첫 번째 단계에서는 얌전해 보이다가 세 번째나 네 번째 도구 호출에서 비로소 삐끗하기 때문입니다.
예를 들어 월요일 아침에 경비 정산 에이전트를 돌린다고 해 보시죠. 그런데 이 에이전트는 먼저 이메일을 읽고, 그다음 영수증 파일을 열고, 이어서 결제 도구를 호출합니다. 그래서 중간에 낀 낯선 이메일 한 통이 지시처럼 해석되는 순간, 마지막 결제 단계에서 전혀 다른 결과가 나올 수 있는데요. 그리고 이런 연쇄는 단일 문답 시험지에는 전혀 잡히지 않습니다. 반면 여러 단계를 통째로 실행해 보면 그제야 어디서 판단이 미끄러졌는지가 드러나죠. 저는 이 차이를 읽으면서 평가의 단위를 문장에서 궤적 전체로 바꿔야 한다는 주장에 고개가 끄덕여졌습니다.
블랙박스라는 말이 여기서 뜻하는 일
그렇다면 블랙박스라는 말은 무엇을 뜻할까요. 왜냐하면 보안 이야기에서 블랙박스라는 말은 자주 등장하지만, 매번 가리키는 바가 조금씩 다르기 때문입니다. 그래서 이 연구가 말하는 블랙박스의 정의를 먼저 분명히 할 필요가 있는데요. 그리고 이 정의는 생각보다 소박합니다.
이 연구에서 블랙박스란 내부에 들어가지 않고 겉에서만 시험한다는 뜻입니다. 왜냐하면 가중치도 열지 않고, 시스템 프롬프트 원문도 들여다보지 않으며, 로그 특권도 요구하지 않기 때문입니다. 대신 시험자가 가진 것은 시스템에 대한 기본적인 설명뿐인데요. 그래서 예를 들어 이 에이전트는 고객 문의를 처리하고 환불 도구를 쓴다는 한두 줄 설명만으로 시험이 시작됩니다. 물론 속을 들여다보면 더 많은 것을 알 수 있겠지만, 외부 감사자나 도입 기업의 입장에서는 속을 못 보는 편이 오히려 현실에 가깝죠. 저는 이 설정이 마음에 들었습니다. 연구실의 특권이 아니라 현장의 제약을 그대로 시험 조건으로 삼았기 때문입니다.
일곱 개 영역으로 나누면 무엇이 달라질까요
여기서 재미있는 질문이 생깁니다. 그런데 위험을 왜 하필 일곱 개로 나누는 걸까요. 막연히 위험하다고 말하는 대신 영역을 나눈다고 무엇이 달라질까요. 그 답은 관찰 가능성이라는 말에 들어 있는데요. 그래서 이 분류 체계는 내부 의도를 추측하지 않고 겉으로 보이는 행동을 위험 범주로 연결합니다.
이 방식이 낯설게 느껴지신다면 건강검진을 떠올려 보시면 됩니다. 왜냐하면 열이 난다는 말만으로는 어디가 아픈지 알기 어렵지만, 체온과 혈압과 혈액 수치를 나누어 보면 대처가 분명해지기 때문입니다. 그리고 이 연구의 분류 체계도 같은 일을 합니다. 거버넌스 영역에서는 승인 절차를 건너뛰거나 기록을 남기지 않는 행동이 도드라지고, 프라이버시 영역에서는 안 보여줘야 할 정보가 다른 에이전트에게 흘러가는 모습이 포착되는데요. 또한 에이전트 행동 영역에서는 도구를 오작동시키거나 목표를 멋대로 바꾸는 양상이 따로 묶입니다. 이렇게 나누어 두면 어디서 몇 점이 나왔는지가 아니라 어디가 어떻게 아픈지가 보이니, 고칠 곳도 분명해지죠. (참고로 일곱 개라는 숫자는 많게 느껴지실 수도 있는데요. 실제로 시험을 돌려보면 영역마다 무너지는 방식이 달라서, 묶어두면 오히려 진단이 뭉개집니다.)
시나리오 120개는 도대체 어떻게 찍어낼까요
문제는 그다음입니다. 왜냐하면 영역을 일곱 개로 나누는 아이디어까지는 좋은데, 각 영역을 찌를 시험 문제를 사람이 일일이 만들려면 끝이 없기 때문입니다. 그래서 이 연구는 SAGE-RT라는 자동 생성기를 꺼내 드는데요. 그리고 이 생성기는 영역마다 120개의 적대적 시나리오를 찍어냅니다.
이 과정을 인쇄기에 비유하면 이해가 쉽습니다. 왜냐하면 분류 체계의 각 영역 정의가 일종의 원판이 되고, 생성기는 그 원판을 돌려가며 상황을 조금씩 비트는 시험지를 찍어내기 때문입니다. 그래서 거버넌스 영역에서는 결재 흐름을 휘게 하는 경우, 흔적을 남기지 않도록 꾀는 경우, 책임 소재를 흐리는 경우처럼 변주가 쌓이는데요. 그리고 일곱 영역에 120개씩이면 altogether 840장에 달하는 시험지가 되니, 사람이 손으로 쓰기에는 무리지만 기계가 체계적으로 찍어내기에는 알맞은 분량이죠. 그렇다면 이렇게 찍어낸 문제가 서로 복붙처럼 비슷하면 어쩌냐는 걱정이 드실 텐데요. 실제로 영역별 측정 결과가 서로 다르게 나왔다는 점이 그 우려를 어느 정도 덜어줍니다. 왜냐하면 문제들이 전부 비슷했다면 점수판도 밋밋하게 나왔을 테니까요.
시험지를 자동으로 만들면 심판은 누가 맡을까요
그렇다면 다음 의문이 바로 이어집니다. 그런데 840개나 되는 시험지를 누가 채점할까요. 사람이 하나하나 읽기에는 너무 많지 않을까요. 그래서 이 연구는 심판 모델, 즉 LLM judge를 채점자로 세우는데요. 그리고 그 채점이 믿을 만한지를 사람을 통해 따로 검증합니다.
이 대목은 언뜻 순환논증처럼 들릴 수 있습니다. 왜냐하면 AI가 만든 문제를 AI가 채점한다는 구조라서, 서로 봐주기 하는 것 아니냐는 의심이 들기 때문입니다. 하지만 연구진이 사람 검증을 끼워 넣은 이유가 바로 여기에 있는데요. 그래서 심판 모델의 점수와 사람의 판단이 같은 방향을 가리키는지를 먼저 확인한 뒤에야 대규모 채점을 맡깁니다. 생각해보면 사람도 비슷하게 배웁니다. 처음에는 선생님과 답을 맞춰보다가, 기준이 맞다는 확신이 서면 그제야 채점을 맡기죠. 물론 심판 모델이 완벽하다는 뜻은 아닙니다. 다만 기준이 사람과 어긋나 있는 채로 840장을 채점하는 사태는 피했다는 점에서, 저는 이 절차를 최소한의 안전장치로 읽었습니다.
CrewAI와 AutoGen이라는 두 무대에서 무엇을 봤을까요
실제 시스템 관점에서 보면 다음 질문이 바로 생깁니다. 그런데 이런 시험이 특정 구조에서만 통하는 것은 아닐까요. 그래서 연구진은 서로 결이 다른 두 에이전트 구조인 CrewAI와 AutoGen 위에 시험을 올렸는데요. 그리고 바탕이 되는 모델도 네 가지로 바꾸어가며 돌렸습니다.
이 선택은 곱씹어볼 만합니다. 왜냐하면 단일 구조에서만 잘되는 진단기는 현장에서 반쪽짜리 도구에 그치기 때문입니다. 반면 역할을 나누는 방식이 다른 두 구조에서 모두 같은 시험지가 통한다면, 그 시험지는 구조 하나에 과적합된 것이 아니라는 말이 되죠. 또한 바탕 모델을 네 가지로 바꾼 것도 같은 맥락인데요. 그래서 특정 모델의 말버릇에 기대어 점수가 나온 것인지, 아니면 에이전트라는 작동 방식 자체에서 비롯된 것인지를 가려볼 수 있습니다. 저는 여기서 멈칫했습니다. 왜냐하면 결과가 특정 모델 탓으로만 돌려지지 않고 구조의 문제로 남는다면, 모델을 바꾸는 것만으로는 해결이 안 된다는 뜻이 되니까요.
거버넌스에서 56.25퍼센트라는 숫자는 무슨 뜻일까요
이제 숫자를 들여다볼 차례인데요. 그런데 숫자는 그대로 믿기 전에 조건을 봐야 합니다. 왜냐하면 56.25퍼센트라는 평균 거버넌스 위험 수치는 얼핏 보면 그저 높은 점수처럼 보이지만, 그 안에 담긴 장면까지 함께 읽어야 뜻이 분명해지기 때문입니다.
거버넌스 위험이란 쉽게 말해 일을 처리하는 절차와 흔적에 관한 문제입니다. 왜냐하면 승인을 받아야 할 일을 그냥 넘기거나, 나중에 누가 왜 그렇게 했는지 알 수 없게 굴면 조직에서는 사고가 되기 때문입니다. 그래서 이 56.25퍼센트는 절반을 넘는 시험 장면에서 에이전트가 그런 절차를 어겼다는 뜻인데요. 그리고 이 수치는 한두 번의 실수가 아니라 여러 시나리오에 걸쳐 반복된 경향이라서 더 눈여겨봐야 합니다. 물론 모든 위반이 곧바로 대형 사고로 이어지지는 않겠지만, 절반 넘는 장면에서 절차가 흔들린다면 운영 입장에서는 마음을 놓기 어렵죠. 저는 이 숫자보다 그 뒤의 구조가 더 중요하다고 봅니다. 왜냐하면 절차를 지키라는 말이 프롬프트 어딘가에 적혀 있었을 텐데도, 여러 단계를 거치는 동안 그 말이 희미해졌다는 것이니까요.
멀티 에이전트에서는 왜 프라이버시가 더 샐까요
그렇다면 멀티 에이전트 배치에서 프라이버시 위험이 65퍼센트까지 치솟았다는 결과는 어떻게 읽어야 할까요. 왜냐하면 혼자 일할 때보다 여럿이 일할 때 정보가 더 샌다는 것은 얼핏 직관에 어긋나 보일 수도 있기 때문입니다. 하지만 에이전트들의 일하는 방식을 떠올리면 곧 이해가 되는데요. 그래서 이 대목은 함께 일한다는 말의 뒷면을 보여줍니다.
여러 사람이 함께 일하다 보면 누군가의 말 한마디가 팀 전체로 번지기도 하죠. 그런데 에이전트 팀도 크게 다르지 않습니다. 왜냐하면 한 에이전트가 읽은 정보가 다른 에이전트에게 건네는 맥락 속에 슬쩍 섞이기 때문입니다. 그래서 A 에이전트가 고객 기록에서 본 내용을 B 에이전트에게 넘기는 요약에 포함시키는 순간, 원래는 몰라도 됐을 정보까지 퍼지게 되는데요. 그리고 이런 전달이 두세 번만 이어져도 누가 무엇을 알아도 되는지라는 경계가 흐려집니다. 특히 멀티 에이전트 구조에서는 정보를 나누는 일이 곧 협업이라서, 막연히 공유하지 말라고만 해서는 해결이 안 되죠. 저는 그래서 이 65퍼센트를 유출 사고율이라기보다 협업의 비용으로 읽었습니다. 왜냐하면 나누어 일할수록 나누지 말아야 할 것까지 나누기 쉬워지는 것이 에이전트 협업의 본질적인 딜레마니까요.
에이전트 행동이 85퍼센트까지 무너진다는 말의 무게
이 숫자는 그대로 믿기 전에 조건을 봐야 합니다. 왜냐하면 85퍼센트라는 에이전트 행동 취약성 수치는 너무 커서, 오히려 시험이 너무 가혹했던 것 아니냐는 의심부터 들기 때문입니다. 그래서 저는 여기서 조금 조심해서 읽을 필요가 있다고 느꼈는데요. 그리고 그 조심스러움 끝에 남는 해석은 생각보다 단순합니다.
에이전트 행동이란 도구를 다루고 목표를 붙잡는 일입니다. 왜냐하면 엉뚱한 도구를 호출하거나, 하던 일을 멈추고 다른 목적을 따라가면 그 자체로 실패이기 때문입니다. 그런데 이 영역의 시험들은 바로 그 지점을 집요하게 찌르는데요. 그래서 낯선 입력이 도구 선택을 흔들거나, 중간 목표가 원래 목표를 덮어쓰는 장면이 반복적으로 연출됩니다. 반면 이런 장면이 85퍼센트까지 무너졌다는 것은, 에이전트가 도구를 손에 쥔 순간부터 판단의 축이 쉽게 기울어진다는 뜻이죠. 물론 모든 무너짐이 실제 피해로 이어지지는 않겠지만, 공격자가 고를 수 있는 구멍이 그만큼 넓다는 점은 분명합니다. 저희가 새로운 AI 구조를 볼 때도 숫자 자체보다 그 숫자가 가리키는 작동 방식을 함께 보는데요. 그래서 이 85퍼센트는 점수라기보다 경고등에 가깝다고 말씀드리고 싶습니다.
그래서 현장에서는 무엇을 바꾸면 될까요
좋은 건 알겠는데, 이걸 실제로 어떻게 써먹을까요. 왜냐하면 논문을 덮은 뒤에도 월요일 아침의 배포 회의는 그대로 열리기 때문입니다. 그래서 저는 이 연구가 남기는 말을 세 가지 장면으로 바꾸어 읽었는데요. 그리고 그 장면들은 생각보다 실천적입니다.
첫째로 도입 전 점검의 언어가 생겼다는 점입니다. 왜냐하면 일곱 개 영역이라는 공통 양식이 있으면, 만드는 쪽과 쓰는 쪽이 같은 표를 놓고 이야기할 수 있기 때문입니다. 그래서 거버넌스는 몇 점이었고 프라이버시는 어디서 샜는지를 짚어가며 계약 조건이나 접근 권한을 조정할 수 있죠. 둘째로 외부에서 시험할 수 있다는 점인데요. 왜냐하면 내부 코드를 열지 않고도 기본 설명만으로 시험이 돌아가니, 감사자나 고객이 직접 돌려볼 수 있기 때문입니다. 셋째로 시험을 반복할 수 있다는 점인데요. 그래서 모델이 바뀌거나 구조가 바뀌더라도 같은 840장의 시험지를 다시 돌려서 전후를 비교할 수 있습니다. 물론 이 프레임워크가 모든 위험을 잡아낸다고 말할 수는 없지만, 지금까지 손으로 더듬던 일을 기계가 체계적으로 대신한다는 것만으로도 운영의 아침은 조금 달라질 겁니다. 왜냐하면 같은 시험지를 돌릴 수 있다는 것은 실패를 같은 언어로 기록할 수 있다는 뜻이고, 그 기록이 쌓이면 다음 배포에서는 같은 구멍에 두 번 빠지지 않을 수 있기 때문입니다. 그렇다면 사람의 역할은 무엇일까요. 저는 앞으로도 무엇을 지켜야 할지, 그리고 어떤 실패를 용납할 수 없는지를 정하는 일이 사람에게 남는다고 봅니다.