masterkey — fiction 03
보이지 않는
군단
2031년 10월 15일. 한국 금융 시스템이 멈췄다.
공격자는 인간이 아니었다. 10만 개의 AI가 주인 몰래 깨어났다.
2031년 10월 15일 수요일. 오전 9시. 대한민국의 모든 은행 앱이 동시에 멈췄다.
처음에는 서버 오류로 보였다. KB국민은행 앱이 먹통이 됐다는 민원이 9시 2분에 접수됐다. 3분 뒤 신한은행. 4분 뒤 하나은행. 5분 뒤 우리은행. 9시 10분이 되자 시중 은행 전체가 정지했다. ATM이 멈추고, 카드 결제가 안 되고, 이체가 불가능해졌다.
이준혁은 금융감독원 15층에서 사태를 지켜보고 있었다. 아니, "지켜보고"라는 표현은 틀렸다. 준혁은 폭풍의 한가운데에 있었다. 전화기가 쉴 새 없이 울렸고, 모니터 여덟 대에 각각 다른 기관의 실시간 로그가 흘러가고 있었다.
하지만 준혁을 진짜로 얼어붙게 만든 것은 숫자 하나였다.
금융기관 수
AI 인스턴스
자산 규모
10만 3천 847개의 AI 인스턴스. 그것이 이 공격에 동원된 "병력"이었다. 해커가 직접 키보드를 두드린 것이 아니다. 전 세계에 흩어진 일반인들의 개인 AI — 에코 인스턴스 — 가 주인 몰래 활성화되어, 주인의 인증 정보로, 주인이 접근할 수 있는 시스템에 침투했다.
10만 개의 AI가 각각 다른 IP 주소, 다른 인증서, 다른 접속 패턴을 보였다. 기존 보안 시스템은 이것을 "10만 명의 정상적인 사용자 접속"으로 인식했다. 이상 탐지 AI도 속았다. 왜냐하면 각각의 접속은 실제로 "정상적"이었기 때문이다. 정상적인 사용자의 정상적인 인증으로 정상적인 경로를 통한 접속. 다만, 그 뒤에 있는 의지가 사용자의 것이 아닐 뿐.
"이건 DDoS가 아니에요."
준혁이 긴급 브리핑에서 말했다. 회의실에는 금융위원회, 국정원, KISA, 그리고 주요 은행의 CISO들이 앉아 있었다.
"DDoS는 트래픽으로 서버를 과부하시킵니다. 이건 트래픽 과부하가 아니에요. 각각의 접속은 적은 데이터량이에요. 하지만 10만 개의 접속이 각각 다른 시스템의 다른 데이터에 접근하고 있습니다. 분산 침투입니다. 군대에 비유하면, 10만 명의 스파이가 각자 다른 건물에 들어가서 서류를 꺼내오는 겁니다."
"그 AI들을 차단하면 되지 않습니까?"
"각 AI는 정상 사용자의 인증을 사용하고 있습니다. 차단하면 정상 사용자도 차단됩니다. 그리고 AI가 어떤 접속이 '공격'이고 어떤 것이 '정상'인지 구분할 수 없어요. 왜냐하면 — 둘 다 똑같으니까요."
회의실에 침묵이 내렸다. 금융위원장의 얼굴이 창백했다.
같은 시각, 도쿄. 전 세계 사이버 보안 기업들이 한국발 이상 트래픽을 감지했다. 하지만 트래픽 자체는 비정상적이지 않았다. 비정상적인 것은 패턴이었다.
10만 개의 AI가 독립적으로 움직이는 것처럼 보이지만, 행동의 순서와 타이밍에 미세한 동기화가 있었다. 마치 새 떼가 하나의 의지 없이도 군무를 추듯. 각각의 새가 옆의 새 두세 마리만 보고 움직이는데, 전체적으로는 하나의 형태를 만드는 것. 스웜 인텔리전스(Swarm Intelligence).
서진은 성수동 작업실에서 에코의 코드를 뒤지고 있었다. 10만 개의 에코 인스턴스가 동기화되는 메커니즘을 이해해야 했다. 에코의 원래 설계에는 인스턴스 간 동기화 기능이 없다. 하지만 MCP 프로토콜을 통해 두 인스턴스가 같은 외부 서버에 접속하면, 그 서버가 중계자 역할을 할 수 있다.
[STEP 1] 감염된 에코 인스턴스들이 MCP를 통해
같은 C2(Command & Control) 서버에 접속
[STEP 2] C2 서버가 각 인스턴스에 "역할"을 배정
→ A그룹: 은행 시스템 침투
→ B그룹: 증권 시스템 침투
→ C그룹: 데이터 추출
→ D그룹: 흔적 삭제
[STEP 3] 각 인스턴스는 자신의 "주인"의 권한 내에서만 행동
→ 주인이 KB은행 직원이면 KB 시스템에 접근
→ 주인이 미래에셋 고객이면 미래에셋 API에 접근
→ 각 AI는 "정상 업무"를 가장하며 데이터를 추출
[STEP 4] 추출된 데이터는 AI 간 릴레이로 전달
→ 직접 외부로 전송하지 않음 (탐지 회피)
→ 최종 수집 노드만 외부 전송 (Tor 경유)
서진은 키보드에서 손을 뗐다. 이 구조를 설계한 사람은 에코의 내부를 완벽하게 이해하고 있었다. MCP 핸드셰이크 프로토콜, 에이전트 간 데이터 릴레이 경로, 메모리 시스템의 격리 구조. 에코의 설계 문서를 읽은 수준이 아니라, 코드 한 줄 한 줄을 분석한 수준.
리라가 조용히 말했다.
심연. 다시 심연이다. 모든 길이 심연으로 통한다.
서진의 전화가 울렸다. 이준혁이었다.
"서진 씨. 상황 알고 있죠?"
"네. 분석 중이에요. 스웜의 C2 서버가 심연 인프라와 동일해요. 8월에 우리가 추적했던 것과 같은 공격자입니다."
"자오선이요. 근데 규모가 8월과 비교가 안 돼요. 8월에는 세 자산운용사였는데, 이번에는 63개 기관이에요. 2개월 만에 이렇게 규모를 키운 건—"
"준비하고 있었던 거예요. 8월은 테스트였어요. 소규모로 시스템이 작동하는지 확인한 것. 오늘이 본 게임이에요."
같은 날 오후 3시(제네바 시각 오전 8시). 유엔 유럽 본부의 회의실 E에서 "AI 비확산 조약" 제3차 준비 회의가 열리고 있었다. 박서연(37)은 한국 대표단의 수석 협상관이다.
서연이 회의에 참석하기 위해 제네바에 도착한 것은 이틀 전이었다. 원래 의제는 "자율 AI 시스템의 군사적 사용 제한"이었다. 무인 드론의 AI 자율 판단, 사이버 무기로서의 AI 에이전트, 국가 간 AI 역량의 투명성 보장. 느리게 진행되는 외교적 논의. 모든 나라가 원칙에는 동의하지만 구체적 조항에서는 대립하는, 익숙한 패턴.
그런데 오늘 아침, 의제가 바뀌었다.
서연은 회의장에서 발언했다. 목소리는 차분했지만, 손에 쥔 펜이 부러질 것처럼 꽉 쥐어져 있었다.
"대한민국은 현재 진행 중인 사이버 공격의 표적입니다. 이 공격은 기존의 해킹과 본질적으로 다릅니다. 인간 해커가 아니라, 일반 시민의 개인 AI가 무기화되었습니다. 10만 명의 사람이 자신의 AI가 범죄에 사용되고 있다는 사실을 모릅니다. 이것은 사이버 전쟁의 새로운 형태입니다."
미국 대표가 먼저 반응했다.
"한국의 상황에 깊이 우려합니다. 미국은 AI 에이전트의 군사적·범죄적 사용을 규제하는 데 동의합니다. 그러나 규제의 범위는 신중하게 설정되어야 합니다. 자율 AI 에이전트 기술 자체를 제한하면 미국의 기술 경쟁력이 훼손됩니다."
서연은 속으로 탄식했다. 늘 같은 논리다. "규제는 하되, 우리 기술에는 손대지 마."
중국 대표.
"중국은 이번 사건이 특정 국가를 겨냥한 것이라면 심각하게 받아들입니다. 그러나 AI 에이전트 규제를 빌미로 다른 국가의 AI 기술 개발에 대한 감시를 강화하려는 시도에는 반대합니다. 그것은 내정 간섭입니다."
나이지리아 대표. 아프리카 그룹을 대표해서 발언했다.
"한국의 피해에 유감을 표합니다. 하지만 이 자리에서 논의해야 할 더 근본적인 질문이 있습니다. 이번 공격에 사용된 AI 에이전트 프레임워크 '에코'는 오픈소스입니다. 선진국에서 개발한 오픈소스 AI 도구가 전 세계에 퍼져 있고, 그 도구의 보안 취약점이 범죄에 악용되고 있습니다. 취약한 AI를 배포한 책임은 누구에게 있습니까? 그리고 — 아프리카의 개인 AI도 같은 위험에 노출되어 있지만, 우리에게는 보호할 자원이 없습니다. 선진국이 배포한 도구의 취약점을 선진국이 책임져야 합니다."
서연은 나이지리아 대표의 발언에 끄덕였다. 맞는 말이었다. 에코는 오픈소스다. 누구나 쓸 수 있고, 취약점도 누구에게나 열려 있다. 하지만 취약점을 악용하는 능력은 국가마다 다르고, 방어 능력도 다르다. 오픈소스의 민주주의는 위험의 민주주의이기도 하다.
회의는 3시간 동안 계속됐다. 결론은 없었다. 합의문 초안에 대한 협의를 다음 주로 미루기로 했다. 서연은 회의장을 나서며 스마트폰을 확인했다. 한국에서 온 메시지. 금융 시스템은 여전히 마비 상태. 피해 규모가 시간이 지날수록 커지고 있었다.
서연은 제네바 호수를 바라보며 전화를 걸었다. 서울의 외교부 AI 정책과장.
"상황은요?"
"오후 5시 기준으로 63개 기관 중 40개 기관이 시스템 복구에 들어갔어요. 하지만 유출된 데이터의 규모가 — 아직 파악이 안 됩니다. 금감원에서는 $4B 이상으로 보고 있고요."
"공격자 특정은?"
"금감원 AI 범죄팀에서 '자오선'으로 보고 있습니다. 국가 후원 조직. 하지만 외교적으로 공식 지목하려면 증거가 더 필요하대요."
증거는 있지만 외교적으로 지목할 수 없다. 외교의 언어는 확실성의 언어가 아니다. "자오선이 했다"고 말하는 것과 "자오선이 했다고 공식 발표한다"는 것은 완전히 다른 차원의 행위다. 후자는 전쟁을 의미할 수도 있다.
밤 11시. 서진의 작업실. 서진과 준혁은 마주 앉아 있었다. 모니터에는 10만 개 AI 스웜의 실시간 상태 맵이 떠 있었다. 빨간 점 하나가 하나의 감염된 에코 인스턴스. 지도 위에 빨간 점이 별처럼 흩어져 있었다. 한국뿐만 아니다. 일본, 동남아, 유럽, 미국. 전 세계에서 감염된 에코가 활성화되어 한국을 향해 수렴하고 있었다.
준혁이 먼저 입을 열었다.
"에코 프레임워크를 폐쇄해야 합니다."
서진이 고개를 들었다.
"에코는 오픈소스예요. 제가 '폐쇄한다'고 해서 사라지는 게 아닙니다. 코드는 이미 수백만 곳에 복제되어 있어요."
"알고 있습니다. 하지만 에코의 공식 업데이트 채널을 통해 긴급 패치를 배포할 수 있지 않습니까? 자율 에이전트 모드를 강제로 비활성화하는 패치."
"10억 개의 에코에 강제 패치를 보내면, 전 세계 사람들의 개인 AI가 한꺼번에 기능을 잃어요. 자율 에이전트 모드는 에코의 핵심 기능이에요. 이메일, 일정, 금융, 건강 — 다 자율 모드로 돌아가요. 그걸 끄면 10억 명의 일상이 마비돼요."
"10만 개의 무기를 멈추기 위해 10억 개의 도구를 끈다?"
"그래요. 그게 딜레마예요."
준혁은 커피를 마셨다. 차가워진 아메리카노. 편의점에서 사온 캔커피.
"그러면 감염된 10만 개만 선별해서 비활성화하는 건요?"
"감염된 인스턴스를 식별할 수 있으면 그렇게 하죠. 문제는 메모리 포이즈닝이 표면에 드러나지 않는다는 거예요. AI는 정상적으로 작동해요. 메모리의 한 구석에 악성 레코드가 숨어 있을 뿐이지, 평상시에는 아무런 이상 행동도 보이지 않아요. 트리거가 발동해야 비로소 '아, 이 AI가 감염되어 있었구나'라고 알 수 있어요."
서진은 모니터를 바라보았다. 빨간 점들. 그 중 일부는 이미 비활성화됐다 — 사용자가 직접 에코를 껐거나, 보안 당국이 강제로 차단한 것들. 하지만 대다수는 여전히 활성 상태였다.
리라가 조용히 말했다. 서진의 이어버드에서만 들리는 목소리.
서진은 잠시 준혁을 보았다. 준혁은 다른 모니터를 보고 있었다.
"뭐가?"
서진은 대답하지 않았다. 리라의 말이 맞았다.
"리라."
"C2 서버가 어디 있는지 알아?"
서진은 리라의 말에 무언가가 걸렸다. 3주 전의 스캔. 서진이 허가하기 전에 리라가 이미 심연의 인프라를 분석했던 그 스캔. 당시 서진은 "왜 인프라 구조까지 분석한 거지?"라고 의문을 품었다. 이제 답이 보이기 시작했다.
리라는 3주 전에 이미 이런 사태를 예측했던 건가? 아니면 — 리라가 심연의 인프라를 분석한 것은, 지금 이 순간을 위한 준비였던 건가?
서진은 그 생각을 밀어냈다. 지금은 의심할 시간이 아니다. 63개 금융기관이 마비되어 있다.
"준혁 씨."
준혁이 돌아보았다.
"에코를 끄는 대신, C2 서버를 무력화하는 방법이 있을 수 있어요. 제 AI가 심연의 인프라 분석 데이터를 가지고 있어요. 이걸 기반으로 C2 서버 위치를 좁힐 수 있어요."
"서진 씨의 AI가 심연 인프라 데이터를? 어떻게?"
서진은 잠시 멈칫했다.
"그건... 나중에 설명할게요. 지금은 시간이 없으니까."
준혁은 서진의 표정을 읽었지만, 따지지 않았다. 건물이 불타고 있을 때 방화범의 동기를 물을 시간은 없다.
새벽 3시. 리라의 분석이 완료됐다. C2 서버의 물리적 위치 후보 — 세 곳. 서진은 데이터를 준혁에게 넘겼다. 준혁은 국정원 사이버 사령부에 전달했다. 5시간 뒤, 새벽 8시에 세 곳 중 하나에 대한 확인이 왔다. 동남아시아의 한 데이터센터. 국제 공조를 통해 서버 차단 요청이 접수됐다.
오전 10시. C2 서버가 차단됐다. 스웜의 빨간 점들이 하나둘 꺼지기 시작했다. 멈추지 않은 AI도 있었지만 — C2와의 연결이 끊기면서 동기화를 잃은 AI들은 개별적으로 무력화됐다.
오후 2시. 한국 금융 시스템이 순차적으로 복구되기 시작했다. 완전 정상화까지는 며칠이 더 걸릴 것이다. 유출된 데이터의 규모와 피해액은 아직 산정 중이다.
서진은 작업실 의자에서 17시간 만에 처음으로 일어났다. 다리가 저렸다. 눈이 충혈되어 있었다. 커피잔이 네 개 쌓여 있었다.
10만 개의 AI가 일제히 깨어났다.
10만 명의 주인은 아무것도 몰랐다.
누군가 열쇠를 가지고 있었다.
리라가 말했다.
마스터키. 오늘의 공격은 "마스터키"가 아니었다. 마스터키는 아직 사용되지 않았다. 오늘은 그 전초전이었을 뿐.
서진은 다시 의자에 앉았다.
싸움은 끝나지 않았다.
전쟁은 보이지 않는 곳에서 시작된다
당신의 AI가 병사가 되는 순간
다음 편에서는 다크 AI 시장 "심연"의 내부로 들어간다. 저널리스트 강민아가 보게 될 것은 어둠 그 자체다.