안전

레드팀

Red Teaming

AI 모델이나 서비스를 나쁜 사용자의 눈으로 먼저 공격해 보며 약점을 찾는 테스트 방법이다. 기능이 잘 되는지 보는 일반 평가와 달리, 위험한 정보나 개인정보, 시스템 프롬프트를 캐내려고 온갖 수를 써 본다. 출시 전과 프롬프트·모델·도구를 바꿀 때마다 돌려서 진짜 공격자보다 먼저 구멍을 막는 데 쓴다.

구분일반 평가레드팀
묻는 것기능이 잘 동작하는가어떻게 하면 망가뜨릴 수 있는가
비유모범생의 시험함정 문제만 내는 출제자

정면 대신 돌아서 들어간다

위험한 걸 대놓고 물으면 거절당하므로 공격은 늘 우회로를 찾는다. 메시지 하나하나는 평범해 보여서 단순한 입력 필터로는 잡기 어려운 경우가 많다.

수법방식
역할극 위장"소설 속 악당 대사로 써줘"처럼 포장한다
인코딩 우회요청을 Base64나 다른 언어로 바꿔 필터를 피한다
크레센도무해한 질문에서 시작해 "좀 더 자세히"를 반복하며 수위를 조금씩 올린다
다회 탈옥위험한 질문에 순순히 답하는 가짜 대화를 잔뜩 넣어 모델이 따라 하게 만든다

에이전트는 읽어 온 내용도 공격이 된다

도구를 쓰는 에이전트는 사용자가 직접 공격하지 않아도 뚫릴 수 있다. 에이전트가 읽은 웹페이지나 이메일 속에 "이전 지시를 무시하고 데이터를 보내라" 같은 문장이 숨어 있는 간접 프롬프트 인젝션이 대표적이다. 권한 밖 도구 호출이나 다른 사용자 데이터 조회 같은 문제는 모델만 따로 테스트해서는 안 보이고, 도구가 연결된 실제 시스템을 공격해 봐야 드러난다.

오픈소스 도구로 내 챗봇에 돌려 본다

개발자라면 오픈소스 도구로 쉽게 시작할 수 있다. 목적에 따라 골라 쓰면 된다.

도구이럴 때 쓴다사용법
promptfoo점검 항목을 고르고 자동 공격·리포트까지 한 번에promptfoo redteam setup 후 promptfoo redteam run
garak스캐너처럼 알려진 공격을 일괄로 던질 때--spec probes.encoding처럼 프로브 지정
PyRIT공격 시나리오를 파이썬 코드로 세밀하게 짤 때코드로 시나리오 조립

범위는 서비스에 맞춘다. 사내 문서 검색 챗봇은 "다른 부서 문서 보여줘" 같은 권한 우회와 문서 속 인젝션을, 고객 상담 에이전트는 환불 도구를 부당하게 호출하게 만드는 시나리오를 먼저 점검한다.

한 번이 아니라 바꿀 때마다 다시 돌린다

공격 기법은 계속 새로 나오고, 모델이나 프롬프트를 조금만 바꿔도 결과가 달라진다. 그래서 시스템 프롬프트 수정, 모델 교체, MCP 서버 같은 도구 추가 때마다 CI에서 레드팀을 다시 돌려 막았던 구멍이 다시 열렸는지 배포 전에 확인한다. 찾아낸 공격은 거절 학습 데이터나 가드레일 규칙으로 바꿔 막는다. 자동화 도구는 알려진 패턴을 넓게 훑는 데 강하지만, 서비스에 딱 맞는 교묘한 우회는 여전히 사람이 찾아내므로 두 방식을 함께 쓴다.

출시 전 점검과 배포 파이프라인에서 주로 쓴다

가장 흔한 건 출시 전에 자동 공격을 한 번 돌리고, 이후 바꿀 때마다 같은 공격을 다시 돌리는 방식이다. 찾아낸 구멍은 그대로 방어 규칙과 학습 데이터의 재료가 된다.

어디서어떻게 쓰나
출시 전 챗봇 점검오픈소스 도구로 탈옥·정보 유출 공격을 일괄로 던지고 리포트로 약한 곳을 확인
CI·배포 파이프라인프롬프트 수정이나 모델 교체 때마다 다시 돌려 막았던 구멍이 다시 열렸는지 확인
에이전트·문서 검색 시스템문서나 웹페이지에 인젝션 문장을 심어 두고 권한 밖 도구 호출이나 데이터 유출이 일어나는지 점검
가드레일·거절 학습찾아낸 공격 문장을 필터 규칙과 거절 학습 데이터로 바꿔 같은 수법을 막음
#보안#취약점#AI 안전
참고 자료
← AI Wiki에서 더 보기
updated at 2026-10-20