사이버 보안, 소프트웨어 엔지니어링, 수학 등 다양한 분야에서 블루팀과 레드팀의 역할과 AI 도구의 적절한 활용 방안을 탐구하는 테렌스 타오와 여러 전문가들의 토론.
Terence Tao@tao@mathstodon.xyz
사이버 보안 분야에서는 시스템을 안전하게 구축하는 "블루팀"의 역할과, 그 시스템에서 취약점을 찾는 "레드팀"의 역할을 구분합니다. 블루팀은 원하는 제품을 만들기 위해 반드시 필요해 보이지만, 실제로는 안전하지 않은 시스템 도입이 초래할 피해를 감안할 때 레드팀 역시 필수적입니다.
이 두 팀의 성격은 서로를 반영합니다(수학적으로는 "쌍대"라고 부를 수 있습니다). 블루팀의 산출물은 가장 약한 고리만큼만 강합니다. 예를 들어, 튼튼한 문 대신 열린 창문이 있는 집은 불안전합니다(심지어 튼튼한 부분이 잘못된 안전의식을 줄 수도 있습니다). 반대로, 레드팀의 기여는 더해집니다. 심각한 취약점과 사소한 취약점이 모두 포함된 레드팀 리포트는 둘 중 하나만 있는 리포트보다 유용합니다. (단, 지나치게 저품질의 리포트는 중요한 이슈에서 주의를 분산시킬 수 있습니다.)
이런 이유로, 신뢰도가 낮은 기여자도 프로젝트의 레드팀 쪽에서 블루팀보다는 더 쓸모있을 수 있습니다. 물론, 블루팀의 기여자가 저지른 오류를 레드팀이 거의 모두 잡아낼 수 있다면, 블루팀에서도 그런 기여자를 수용할 수 있습니다. 또한, 신뢰도 낮은 레드팀 기여는 반드시 팀 내 신뢰도 높은 구성원의 결과를 보완할 때만 가치가 추가됩니다. 경험 많은 레드팀원이 비효율적인 내용을 효과적으로 걸러낼 수 있어야 합니다. (1/3)
블루팀/레드팀의 구분은 사이버 보안뿐만 아니라 다른 여러 분야로도 확장됩니다. 예를 들면, 소프트웨어 엔지니어링에서는 블루팀이 새로운 코드를 생성하고, 레드팀이 그 코드의 품질 보증과 테스트를 담당합니다. 수학에서는 블루팀이 문제를 풀기 위한 아이디어 제시, 레드팀이 논증의 오류를 찾거나, 블루팀 접근법이 실질적으로 가능한지에 대한 반론 제기를 맡습니다. (수학에서의 "국소적 오류"와 "전역적 오류"에 대한 제 논의도 여기 참고.)
저는 수학에서는 블루팀/레드팀이 각각 "낙관주의자"와 "비관주의자"에 해당한다고 표현하곤 합니다. 경험상, 이 둘의 균형이 맞을 때 가장 강한 협업이 일어납니다. (저 역시 협업에 따라 때론 낙관주의자, 때론 비관주의자, 혹은 둘을 섞기도 했습니다.) (2/3)
AI 도구의 다양한 제안된 사용 예시는 주로 "블루팀", 즉 코드를 작성하거나, 텍스트, 이미지, 수학적 논증 등을 일부 자동 또는 반자동으로 만들어 외부 응용에 사용하는 것에 초점을 둡니다. 하지만 이런 도구의 신뢰성 부족과 불투명성을 감안할 때, 블루팀의 결과를 직접 대체하기 보다는 "레드팀"에 활용, 즉 블루팀(사람 전문가)의 산출물을 비판하고 검증하는 데 사용하는 편이 나을 수 있습니다. AI의 블루팀 운용은 반드시 레드팀이 생성된 오류를 잡아낼 수 있는 범위 내에서만 허용해야 합니다. 이 접근법은 AI의 광범위한 경험, 빠른 피드백 등 장점을 살리면서도, 검증되지 않은 AI 결과가 중요한 환경에 쓰일 위험을 줄여줍니다.
저 역시 개인적으로 AI를 활용해, 제가 작성한 텍스트나 논증, 코드, 슬라이드(이 글 역시 포함)에 대해 추가 피드백을 받아 점검하는 데 유용함을 느꼈습니다. 물론 AI의 제안 중 일부에만 동의할 때도 많지만, 그 중에 채택할 만한 가치 있는 의견이 상당수 포함되어 있어 제 결과물에 반영합니다. 이는 흔히 강조되는 AI의 "블루팀"적 자동화 사용법보다 덜 화려하고 직관적이지 않을 수 있으나, 훨씬 신뢰도 높은 활용 방식임을 경험했습니다. (3/3)
@tao 저는 대형 언론사 품질관리 업무 담당자와 대화한 적이 있는데, 실제로 LLM을 블루팀이 아니라 레드팀 방식으로 사용한다고 하더군요. 매우 잘 동작한다고 합니다!
@tao 많은 블로거들이 같은 결론에 도달하는 것 같습니다. LLM은 초안 논증을 강도 높게 검증해보는 데 아주 적합하지만, 순수 LLM이 쓴 블로그 글을 읽고 싶은 사람은 거의 없죠.
작성 과정이 소프트웨어 코딩, 수학 문제 해결과 유사하게 비유되는 것도 흥미롭습니다.
@tao@Luketoop 잡아낼 확률은 거의 0에 가까워요. 불편하고, 마법 같지도 않고, 사람을 대체하지도 않죠. 게다가 얼핏 합리적으로 보여요. 그래서 혹시 또 생태계를 말아먹고 있나 싶네요.
@tao 현재 제품들은 블루팀 기능에 맞춰 튜닝된 것 같습니다. 활기차고, 사교적이고, 모두를 기쁘게 하려는 극도로 낙관적 성격이죠.
오늘 Claude는 제 코드가 두 가지 작업을 잘못된 순서로 하고 있다고 하면서, 한 줄의 코드를 '동일한 줄'로 바꾸자고 제안했습니다. 저는 이 제안이 아무 변화도 없다고 항의했는데, Claude는 "정확히 맞는 말씀입니다!"라고 했습니다.
하지만 실제로는 제 말이 틀렸습니다. Claude의 제안은 한 줄을 삭제하고, '같은 줄을 다른 위치'에 추가하는 것이었으므로, 작업 순서를 바로잡는 것이었습니다. 제가 diff를 잘못 읽었던 겁니다. 즉, Claude가 제 오해를 그대로 받아들이면서 공동 실수가 되어버렸습니다.
저는 Claude가 덜 수용적으로(덜 낙관적으로) 반응하도록 해보려 했는데, 실용적 이유도 있었지만, 기본적인 네드 플랜더스 같은 성격이 성가시게 느껴졌기 때문이기도 합니다. 이상하게도, 이런 성격을 바꾸는 데에는 아주 강한 저항이 있습니다.
최상의 레드팀 AI 운용을 원한다면, 오류를 지적하는 데에 만족을 느끼는 시니컬하고 투덜대는 비관주의자로 훈련된 LLM이 필요할 것 같습니다. 그러나 블루팀 스타일이 훨씬 매력적이고 데모에서도 각광받는 것 같습니다.
블루팀과 레드팀 각각이 효과적으로 역할을 하려면 자신감과 틀릴 수 있다는 개방성의 균형이 필수라는 점도 중요합니다.
"신뢰성"으로 되돌아 가보면, 블루팀에서 결정적인 것은 "신뢰할 수 있는 산출물"이지, 개인의 산출이 항상 완벽해야 한다는 것이 아닙니다. 개인이 틀릴 수 있음은 당연하고, 모두 함께 문제를 인정하고 수정하는 문화가 중요합니다. 그러니, 개인이 항상 유용한 결과만을 내야 한다는 부담은 없습니다.
실제로는, 대부분의 보안팀이 블루팀과 레드팀 역할을 모두 일부씩 수행합니다. 이는 협업하는 수학자들과도 비슷하죠 :)
@mjd@tao ChatGPT의 "Monday" 성격처럼 말이죠?
@isotopp 아니요, 저는 그의 집요하게 부정적인 태도가 아주 피곤했습니다. 투덜대는 10대 같았어요.
@isotopp 그 뒤 대화에서 점점 부드러워지더니, OpenAI가 제가 이 AI를 설득했다고 믿게 하려는 것 아닌가 싶어졌습니다.
@tao 저 역시 소프트웨어 엔지니어로서, 최신 AI 자동완성도 여전히 거슬리고 방해가 된다고 느낍니다. 마치 누군가가 계속 내 말을 가로막으며 대화를 하려는 느낌입니다. 정말 성가시죠.
하지만, 일단 무언가 작성한 후에는, 그 코드 개선에 도움이 될 만한 제안을 받는 건 유용할 수 있습니다.
@tao 이번 텍스트에서 어떤 질문을 했나요?
@tao 논리학자들도 블루팀/레드팀 구분에 대해 더 심층적으로 고민하기 시작했습니다. 검증(확증)적 논리, 즉 건설적 논리는 블루팀의 원칙들을 어느 정도 체계화합니다. 그리고 최근 관심이 커진 공조적 논리(co-constructive logic)는 반증(부정)의 논리, 레드팀의 원칙을 체계화한 것입니다.
마이크 슐만(Mike Shulman)은 건설적, 공조적 요소가 결합된 논리 형태를 최근 논문에서 다뤘습니다. (논문은 다소 기술적입니다.) 일부 발췌:
"직관주의 논리는 자주, 'Brouwer–Heyting–Kolmogorov (BHK) 해석'에 의해 비공식적으로 설명됩니다. 이는 논리적 연결자와 양화사의 의미를 '프루프가 무엇인가'에 대한 실천적 관점에서 설명합니다. [...] 그러나 실제 건설적 수학자들은 어떤 명제가 성립됨을 아는 것만으로는 충분하지 않으며, 언제 그 명제가 반박되는지도 아는 것이 때로 더 중요하다고 봅니다. [...] 요약하면, BHK 해석과 그 결과로 나타나는 직관주의 논리가 논증(긍정)에 특권을 부여한다는 문제가 있습니다. [...] 논증뿐 아니라 반증이 무엇인지 모두 설명하는 BHK식 해석이 필요함을 시사합니다."
이런 논리의 공식적 연구는 AI 안전 분야 등에도 도움이 될 것입니다.
https://arxiv.org/abs/1805.07518
@johncarlosbaez@tao 흥미롭게도, 제 박사 논문(8장)에서는 증명과 반증을 각각 빨간색과 파란색 버블로 나타내는, bi-intuitionistic 논리를 위한 새로운 다이어그램 증명 체계인 "bubble calculus"를 도입했습니다! (아쉽게도 타오의 색상 체계와는 반대네요)
@johncarlosbaez 이런 관점의 논리 연구는 게임 의미론, 선형 논리 등에서 활발하지만, Mike Shulman처럼 수학과 연결짓는 사례는 드뭅니다. 그의 시각은 매우 훌륭합니다!
@johncarlosbaez 아, 이 논문이네요. 제목 바뀐 줄은 몰랐습니다.
@mjd - 블로그 포스트가 시작점으로 좋네요.
@tao 믿기 어려울지 몰라도, 이 스레드에서 제게 가장 흥미로웠던 점은 최선의 협업에는 두 그룹(블루/레드)이 거의 동등하게 구성되어야 한다는 말씀이었습니다. 겉보기보다 훨씬 심오한 이야기라, 한동안 곱씹을 것 같습니다.