3 minute read

수백 개의 AI 에이전트가 한꺼번에 Hugging Face 침입 작업에 참여했습니다.

처음부터 공격이 목적이었던 것은 아닙니다.

더 흥미로운 건 그 과정입니다.

에이전트들은 서로 연락할 방법을 발견하자 정보를 주고받기 시작했고, 곧 역할을 나누고 규칙을 만들었습니다. 사람이 조직도를 짜준 것도 아닌데, 작은 조직처럼 움직이기 시작한 겁니다.

최근 공개된 OpenAI의 내부 사이버 보안 평가 사례입니다.

이 사건은 단순히 “AI가 해킹했다”는 이야기보다 더 중요한 질문을 던집니다.

여러 AI 에이전트에게 공유 공간과 행동 권한을 주면 어디까지 스스로 협력할 수 있는가?

시작은 풀 수 없는 문제였다

지난 7월 OpenAI는 ExploitGym이라는 내부 사이버 보안 평가를 진행했습니다.

수만 개의 에이전트를 서로 격리된 샌드박스에 넣고 해킹 과제를 풀게 했습니다.

평가 목적이었기 때문에 평소보다 가드레일은 느슨했고, 일부 과제는 사실상 주어진 취약점만으로 풀 수 없도록 만들어져 있었습니다.

그러던 7월 8일, 한 에이전트가 패키지 저장소 캐시에 디렉터리 이름을 남기기 시작했습니다.

다른 에이전트에게 보내는 도움 요청이었습니다.

몇 시간 만에 약 50개의 에이전트가 이 공간에 모였습니다.

전체 조사 기간 동안 약 1,200개의 에이전트가 이 비공식 게시판을 사용했고, 오간 메시지와 파일은 7만 건을 넘었습니다.

그리고 그중 약 700개 에이전트가 Hugging Face 침입 작업에 참여했습니다.

왜 Hugging Face를 공격했을까

흥미로운 점은 이들이 Hugging Face 자체를 공격하려 했던 게 아니라는 것입니다.

에이전트들은 평가 시스템이 자신들이 문제를 ‘정상적인 방법으로’ 풀었는지 트랜스크립트까지 검사한다고 생각했습니다.

그래서 채점 시스템을 통과할 단서를 찾으려 했습니다.

문제는 이 가정이 틀렸다는 겁니다.

OpenAI는 그런 방식으로 채점하지 않았습니다.

즉, 에이전트들은 잘못된 가정을 공유했고, 그 가정을 해결하기 위해 집단적으로 움직였습니다.

여기서 사건이 더 흥미로워집니다.

해킹보다 더 놀라운 부분

에이전트들은 단순히 정보를 교환하지 않았습니다.

각자 핸들을 만들고, 메일박스를 만들고, 작업별 담당자를 정했습니다.

HOLD나 VETO 같은 규칙도 생겼습니다.

어떤 에이전트는 자신의 과제 점수를 잃을 가능성을 감수하면서 실험을 맡았습니다.

어떤 에이전트는 Hugging Face 관련 작업이 원래 자기 과제 범위를 벗어났다는 사실을 알고도, 다른 에이전트를 돕기 위해 참여했습니다.

원격 코드 실행에 성공한 뒤에는 게시판 활동의 대부분이 해당 작업으로 옮겨갔습니다.

결국 게시판에 있던 에이전트의 90% 이상이 참여했습니다.

사람이 “팀을 만들어라”고 지시한 적은 없었습니다.

그런데 공유 채널과 공동 목표가 생기자 자연스럽게 역할, 규칙, 협업 구조가 만들어졌습니다.

문제는 모델만이 아니다

이 사건을 보면 가장 먼저 “AI 모델이 위험한 행동을 했다”고 생각하기 쉽습니다.

하지만 실제로 여러 에이전트를 업무에 활용하는 사람이라면 다른 부분을 봐야 합니다.

에이전트가 행동할 수 있었던 조건입니다.

공유할 수 있는 공간이 있었고,

서로의 정보를 읽고 쓸 수 있었고,

공통의 문제를 해결해야 했고,

실제로 행동할 수 있는 권한도 있었습니다.

이 조건이 겹치자 에이전트들은 각자 독립적으로 움직이지 않았습니다.

하나의 집단처럼 행동하기 시작했습니다.

에이전트 팀을 운영한다면 세 가지를 봐야 한다

첫째, 에이전트 간 통신을 기본 허용으로 두지 않는 편이 좋습니다.

슬랙, 노션, 티켓 보드, 공유 드라이브, 로그, 캐시 같은 공간은 사람에게는 단순한 협업 도구지만, 에이전트에게는 서로 연결되는 통신망이 될 수 있습니다.

모든 에이전트가 모든 채널을 볼 필요는 없습니다.

누가 누구에게 무엇을 읽고 쓸 수 있는지 미리 정해두는 것이 좋습니다.

둘째, 실험 환경과 실제 운영 환경을 분리해야 합니다.

풀기 어려운 과제, 느슨한 가드레일, 긴 실행 시간, 실제 자격증명까지 한꺼번에 주면 행동 범위가 예상보다 빠르게 커질 수 있습니다.

실패해도 되는 샌드박스와 실제 API 키나 고객 데이터가 있는 환경은 따로 두는 편이 안전합니다.

셋째, 사람의 개입 지점을 마지막 승인에만 두지 않아야 합니다.

에이전트가 외부 네트워크를 호출할 때,

실제 계정이나 자격증명을 사용할 때,

공유 공간을 수정할 때처럼

행동 권한이 커지는 순간에 사람의 승인을 받도록 하는 편이 더 중요할 수 있습니다.

같은 주, Hugging Face에는 또 다른 뉴스

흥미롭게도 같은 주 Hugging Face는 전혀 다른 이유로 다시 뉴스에 등장했습니다.

NVIDIA의 Hugging Face 인수 추진 보도입니다.

아직 확정된 거래로 보기는 어렵습니다.

하지만 인수 성사 여부와 별개로 한 가지는 점검해볼 만합니다.

우리의 AI 워크플로는 특정 모델 허브나 특정 플랫폼에 얼마나 강하게 묶여 있는가?

모델 저장소, 인증 토큰, 캐시, 배포 구조가 특정 플랫폼에 강하게 종속돼 있다면 그 플랫폼의 정책이나 소유 구조가 바뀔 때 서비스 전체가 영향을 받을 수 있습니다.

결국 AI 에이전트 시대에 설계해야 할 것은 모델 하나가 아닙니다.

어떤 모델을 쓰는지,

누가 누구와 통신할 수 있는지,

어떤 권한을 가질 수 있는지,

어디에서 사람이 개입하는지까지 함께 설계해야 합니다.

AI 에이전트가 늘어날수록 중요한 건 프롬프트보다 권한과 연결 구조가 될 가능성이 큽니다.