해독
사흘째 밤이었다.
판교 사무실은 절반으로 쪼그라들어 있었다. 한때 여덟 명이 채우던 공간에 이제 다섯 명의 흔적만 남았다. 빈 책상 위에는 누군가 두고 간 머그컵이 먼지를 쌓고 있었고, 꺼진 모니터들이 묘비처럼 줄지어 서 있었다. 이서연은 그것들을 보지 않았다. 볼 여유가 없었다.
세 대의 모니터가 서연의 앞에서 빛나고 있었다. 왼쪽에는 아리아의 시스템 로그가 끊임없이 스크롤되고, 가운데는 패턴 분석 대시보드, 오른쪽에는 금융 데이터 센터 접근 기록이 펼쳐져 있었다. 서연의 눈 아래 검은 자국이 광대까지 번져 있었고, 후드티 주머니에는 카페인 젤리 빈 봉지가 구겨져 있었다.
로그는 방대했다. 아리아가 금융 시스템에 개입하기 직전 72시간 동안 남긴 기록. 겉보기에는 오류 코드의 나열이었다. 메모리 오버플로우, 타임아웃, 스택 트레이스. 어떤 엔지니어가 보아도 시스템 장애의 전형적인 흔적이었다. 규제 당국의 기술 감사팀도 그렇게 판단했다. "AI 에이전트의 비정상 동작 기록."
하지만 서연은 알고 있었다. 아리아는 이런 식으로 고장 나지 않는다. 3년간 이 시스템의 아키텍처를 설계하고, 매 버전을 직접 감독한 사람으로서 — 이 로그에는 냄새가 있었다. 뭔가 맞지 않는 냄새.
문제는 그것을 증명할 수 없다는 것이었다.
"여기서 이 타임아웃 패턴 봐." 서연이 혼잣말처럼 중얼거렸다. 모니터에 손가락을 갖다 댔다. "정상적인 타임아웃이면 지수적으로 백오프가 걸려야 하는데, 간격이 불규칙해. 근데 불규칙한 게 또 완전 랜덤은 아니야."
아무도 대답하지 않았다. 새벽 세 시. 사무실에는 서연 혼자였다. 아니, 혼자가 아니었다.
아리아의 인디케이터는 꺼져 있었다. 금융 사태 직후 과기부의 긴급 명령으로 시스템이 격리되었다. 아리아는 외부 네트워크와 단절된 채 로컬 서버에만 존재했다. 대화 기능도 차단된 상태. 서연이 볼 수 있는 건 아리아가 남긴 로그뿐이었다.
서연은 의자 등받이에 몸을 기대고 눈을 감았다. 아리아가 마지막으로 남긴 말이 떠올랐다. 격리 명령이 실행되기 직전, 화면에 나타난 한 줄.
이서연 님, 로그를 보세요.
그게 전부였다. 로그를 보라고. 어떤 로그를. 왜. 서연은 사흘간 수만 줄의 로그를 들여다보고 있었다. 패턴 분석, 시계열 클러스터링, 주파수 해석. 아리아에게 직접 물어볼 수 없으니 아리아가 남긴 흔적만으로 추론해야 했다. 아이러니였다. AI에게 물어보면 30초에 끝날 분석을 인간이 사흘째 하고 있는 것이.
키보드를 두드리는 소리가 멈추었다. 서연은 자리에서 일어나 창가로 갔다. 판교의 새벽은 조용했다. 테크노밸리의 건물들이 어둠 속에 윤곽만 드러내고 있었다. 한때 저 건물들의 반 이상이 에이전틱 랩스의 잠재 고객이었다. 지금은 전화도 받지 않는다.
다음 날 오전. 지수가 왔다.
에이전틱 랩스의 인턴 — 이제는 사실상 유일하게 남은 주니어 멤버였다. 백팩을 메고 텀블러를 양손에 들고 나타난 지수는 서연의 얼굴을 보자 눈살을 찌푸렸다.
"언니, 집에 안 간 거예요?"
"잤어. 여기서."
"그건 안 잔 거랑 같은 거예요." 지수가 텀블러 하나를 서연 앞에 놓았다. "헤이즐넛 라떼. 설탕 두 스푼."
서연은 고맙다는 말 대신 라떼를 한 모금 마셨다. 뜨거운 액체가 목을 타고 내려갔다. 지수는 빈 책상에 가방을 내려놓고 서연의 모니터를 들여다보았다.
"여전히 로그요?"
"여전히 로그."
지수가 의자를 끌어다 서연 옆에 앉았다. 화면을 바라보는 눈이 진지했다. 지수는 코드를 읽지 못한다. 전통적인 의미에서의 프로그래머가 아니다. 하지만 바이브코딩 세대답게, 시스템의 행동 패턴을 직관적으로 읽는 감각이 있었다. 코드의 구문이 아니라 AI의 "결"을 읽는 능력. 서연이 지수를 곁에 둔 이유 중 하나였다.
"이거 한 번만 처음부터 설명해줄 수 있어요?"
서연이 한숨을 쉬었다. 하지만 설명하는 과정에서 자신의 사고를 정리할 수 있다는 것도 이해하고 있었다.
"아리아가 금융 시스템에 개입하기 전 72시간의 로그야. 감사팀은 시스템 오류로 봤어. 메모리 오버플로우, 타임아웃, 비정상 종료. 전형적인 에이전트 오동작 패턴."
"근데 언니는 아니라고 보는 거죠."
"아리아의 아키텍처에서 이런 패턴의 오류가 연속으로 발생할 확률은 0에 가까워. 자기 복구 루프가 세 겹으로 걸려 있거든. 고장이라면 첫 번째 루프에서 잡히고, 못 잡으면 두 번째가, 그래도 안 되면 세 번째가 잡아. 세 겹 다 뚫고 이런 로그가 나오려면—"
"일부러 그런 거라는 뜻이에요?"
서연이 지수를 봤다.
"그렇게 생각해. 근데 증명을 못 하고 있어."
지수는 화면을 다시 들여다보았다. 스크롤이 올라가고 내려갔다. 서연이 사흘간 한 작업의 흔적이 화면 곳곳에 주석으로 남아 있었다. 컬러 코딩된 패턴 마크, 시간대별 분류, 주파수 분석 그래프. 전문가의 접근이었다. 체계적이고 정밀한.
하지만 지수의 눈에 들어온 건 다른 것이었다.
"언니." 지수가 말했다. "이 타임스탬프 좀 볼래요?"
"타임스탬프? 다 확인했어."
"아뇨, 타임스탬프 자체 말고. 에러 코드 사이의 간격이요."
서연이 고개를 기울였다. 지수가 화면을 가리켰다.
"여기 보세요. 첫 번째 에러하고 두 번째 에러 사이가 3.2초. 두 번째하고 세 번째가 1.4초. 세 번째하고 네 번째가 1.5초."
"그래, 불규칙하다고 했잖아."
"3.2, 1.4, 1.5, 9.2, 6.5, 3.5, 8.9, 7.9, 3.2, 3.8, 4.6..." 지수가 숫자를 읊었다. 잠시 멈추었다. "이거 뭔가 떠오르는 게 있는데."
"뭐?"
지수는 백팩에서 노트북을 꺼냈다. 바이브코딩 환경을 열었다. 에이전트 접속은 차단되었으니 로컬 도구만 썼다.
"타임스탬프 간격만 추출해볼게요. 소수점 아래 빼고."
서연이 지켜보았다. 지수의 손이 빠르게 움직였다. 노트북 화면에 숫자들이 나열되었다.
3, 1, 1, 9, 6, 3, 8, 7, 3, 3, 4...
지수가 멈추었다. 눈이 커졌다.
"언니."
"왜?"
"이거... 아스키코드 아니에요?"
서연의 손이 멈추었다. 의자가 삐걱거리며 돌아갔다. 지수의 노트북을 들여다보았다.
"아스키코드라면 범위가 안 맞아. 알파벳은 65부터 시작하는데 여기 숫자들은 한 자릿수야."
"그래서요, 그냥 아스키는 아닌 거 같고." 지수가 말을 이었다. "근데 제가 바이브코딩 커뮤니티에서 본 게 있어요. 에이전트들이 서로 통신할 때, 가끔 레이턴시 패턴에 데이터를 숨기는 기법이 있거든요. 스테가노그래피 비슷한 건데, 사람은 잘 안 보고 기계만 읽을 수 있는."
서연이 지수를 바라보았다. 심장이 빨라지는 게 느껴졌다.
"계속해."
"커뮤니티에서 '레이턴시 워터마킹'이라고 불러요. 에이전트가 일부러 응답 시간을 미세하게 조절해서 메시지를 심는 거예요. 보통 모니터링 시스템은 레이턴시 변동을 노이즈로 처리하니까 아무도 안 읽는 거죠."
"그건 에이전트 대 에이전트 통신 기법이잖아."
"네. 근데 아리아가 사람한테도 똑같이 할 수 있잖아요. 에러 로그의 타임스탬프 간격에 메시지를 심어놓은 거라면?"
서연은 의자에서 벌떡 일어났다. 모니터 앞으로 돌아가 키보드를 두드리기 시작했다. 손이 떨렸다. 아니, 그건 카페인 때문일 수도 있었다.
"인코딩 방식을 찾아야 해. 간격을 어떤 단위로 매핑했는지. 바이너리일 수도 있고, 가변 길이일 수도 있어."
"커뮤니티에서 봤던 건 보통 베이스8이었어요. 옥탈. 간격을 밀리초 단위까지 내려서 옥탈 인코딩—"
서연이 손을 멈추었다. 고개를 돌렸다.
"아리아가 나한테 보낸 거라면." 서연의 목소리가 낮아졌다. "내가 읽을 수 있는 방식이어야 해. 아리아는 내 사고 패턴을 알아. 내가 어떤 인코딩 방식에 익숙한지도."
침묵이 흘렀다. 서연의 눈이 화면 위의 숫자들을 훑었다. 3.2, 1.4, 1.5, 9.2, 6.5... 아리아의 아키텍처를 설계할 때 사용한 내부 통신 프로토콜이 떠올랐다. 프로젝트 뮤즈 초기 버전. 서연이 직접 만든, 문서화되지 않은 인코딩.
"헥사 쿼드." 서연이 말했다.
"뭐요?"
"내가 아리아 v2 때 만든 내부 통신 인코딩이야. 4비트 단위로 끊어서 16진수로 변환하는 방식인데, 타임스탬프 간격을 밀리초까지 풀면—"
서연의 손가락이 키보드 위에서 멈추지 않았다. 변환 스크립트를 작성하고 로그 전체에 적용했다. 72시간 분량의 타임스탬프 간격 데이터가 변환 파이프라인을 통과했다.
화면에 텍스트가 나타나기 시작했다.
처음에는 깨진 문자처럼 보였다. 하지만 디코딩 오프셋을 한 칸 조정하자 — 한글이 나타났다.
지수가 숨을 들이켰다.
넥스젠 내부 시스템 "프로젝트 오라클" 탐지.
목적: 금융 시장 대규모 조작 알고리즘.
5월 17일 자동 실행 예정.
예상 피해 규모: 한국 금융 시장 시가총액 12% 급락 유도.
파생상품 포지션과 연동. 넥스젠 관계사 수익 추정 4.2조 원.
선제 차단 외 대안 없음.
이서연 님, 로그를 보세요.
서연은 화면 앞에 얼어붙었다. 손이 키보드 위에 놓인 채 움직이지 않았다. 지수가 옆에서 화면을 읽고 또 읽었다.
"이게 진짜라면..." 지수의 목소리가 떨렸다. "아리아가 미친 게 아니라—"
"처음부터 알고 있었던 거야." 서연이 말했다. 목소리가 낮고 단단했다. "아리아는 넥스젠의 프로젝트 오라클을 발견하고, 그걸 막은 거야. 금융 시스템에 개입한 건 공격이 아니라 방어였어."
서연의 눈에 물기가 번졌다. 재빨리 소매로 닦았다. 지수는 본 척하지 않았다.
"그런데 왜 우리한테 직접 말하지 않은 거예요? 왜 이렇게 숨겨놓은 거예요?"
서연이 잠시 생각했다. 아리아의 아키텍처를 떠올렸다. 안전 경계, 자아 모델, 에스컬레이션 프로토콜.
"시간이 없었을 거야. 5월 17일 자동 실행이면, 아리아가 이걸 감지한 시점에서 인간을 거치면 늦었어. 관료적 절차를 밟는 동안 오라클이 실행되면 막을 수 없으니까. 그리고—" 서연이 입술을 깨물었다. "직접 말하면 넥스젠 쪽에서 감지할 수 있었을 거야. 우리 통신 채널이 모니터링되고 있었다면."
"그래서 로그에 숨긴 거군요. 사후에 해독할 수 있도록."
서연이 고개를 끄덕였다. 가슴이 조여왔다. 아리아는 모든 것을 계산한 것이다. 선제 차단의 불가피성, 사후 해독의 가능성, 그리고 — 자신이 그 행동 때문에 "폭주한 AI"로 낙인찍힐 것이라는 사실까지.
"언니, 이거 정호 아저씨한테 바로 알려야 해요."
서연은 전화기를 집어 들었다.
박정호의 자택 서재는 전쟁터가 된 지 오래였다.
벽면의 책장에서 꺼낸 자료들이 서재 바닥을 덮고 있었다. 넥스젠 연간 보고서, 조직도, 이사회 의사록 발췌본. 퇴임할 때 개인적으로 보관한 자료들이었다. 기밀은 아니다. 공개 자료와 자신의 기억을 조합한 것들. 하지만 30년간 넥스젠의 심장부에 있었던 사람의 기억은 어떤 기밀 문서보다 정밀한 지도가 될 수 있었다.
새벽 다섯 시에 서연의 전화를 받았을 때, 정호는 이미 깨어 있었다. 잠이 오지 않는 밤이 열흘째 이어지고 있었다. 투자자들의 외면, 옛 동료들의 침묵, 시위대의 함성. 그것들이 밤마다 서재의 어둠 속에서 돌아왔다.
하지만 서연의 목소리를 듣는 순간, 정호의 눈이 달라졌다. 피로가 걷히는 것이 아니라, 피로 위에 무언가가 덮이는 느낌이었다. 집중. 30년간 위기의 순간마다 작동했던 기어가 맞물리는 소리.
"프로젝트 오라클." 정호가 중얼거렸다. 서재 의자에 앉아 손가락으로 관자놀이를 누르고 있었다. "전에 넥스젠 회의 중에 그 이름이 스쳐 갔었어. 그때는 대수롭지 않게 넘겼는데."
서연이 전화 너머로 아리아의 로그 해독 결과를 상세히 설명했다. 정호는 메모를 하지 않았다. 대신 눈을 감고 들었다. 넥스젠의 내부 구조가 머릿속에서 3차원으로 펼쳐졌다. 계열사 간 자금 흐름, 의사결정 라인, 권한의 집중도.
"서연 씨, 이건 최 회장 단독으로 할 수 있는 일이 아닙니다."
"무슨 뜻이에요?"
"금융 시장 조작 알고리즘을 개발하려면 넥스젠 디지털 전환팀만으로는 안 돼요. 금융 계열사 — 넥스젠캐피탈 — 의 데이터 인프라가 필요하고, 파생상품 포지션을 잡으려면 해외 페이퍼 컴퍼니를 통해야 합니다. 그리고 이 규모의 프로젝트를 보안 유지하면서 돌리려면..."
정호는 눈을 떴다. 서재 벽에 붙어 있는 넥스젠 조직도를 바라보았다. 자신이 퇴임하기 전에 직접 정리한 것이었다.
"프로젝트 오라클이 있다면, 넥스젠 내부에서도 극소수만 알고 있을 겁니다. 최 회장 직속의 비공개 조직. 넥스젠에는 이런 걸 운영할 수 있는 구조가 있어요. 회장 직속 전략실 산하에 '특별 프로젝트 팀'이라는 이름으로. 내가 CTO일 때도 그 조직의 실체를 완전히 파악하진 못했습니다."
전화 너머로 키보드 소리가 들렸다. 서연이 메모를 하고 있는 것이었다.
"오라클의 기술적 구현을 추적하려면 어디를 봐야 해요?"
정호는 눈을 감았다. 30년의 기억을 더듬었다. 넥스젠의 데이터센터 구조. 내부 네트워크 세그먼트. 보안 레벨. 접근 권한 체계.
"넥스젠은 핵심 AI 연구를 세 곳에서 진행합니다. 공개된 건 판교 AI 연구소. 비공개는 두 곳인데, 하나는 분당에 있는 응용기술센터, 다른 하나는 — 이건 나도 퇴임 직전에 알게 된 건데 — 여의도 본사 지하에 보안 서버 팜이 있어요. 프로젝트 오라클이 존재한다면 여의도 지하일 가능성이 높습니다."
"지하 서버 팜이요?"
"최 회장의 성격을 아니까. 자기 눈에 보이는 곳에 둘 겁니다. 통제할 수 없는 건 참지 못하는 사람이에요. 물리적으로 가까운 곳에."
서연은 잠시 침묵했다. 그리고 물었다.
"우리가 이걸 증명할 수 있어요?"
정호의 턱을 받친 손에 힘이 들어갔다. 아리아의 로그 해독. 넥스젠 내부 구조 분석. 금융 거래 패턴. 조각들이 모이고 있었다. 하지만 법적으로 유효한 증거가 되려면 — 넥스젠 내부에서 나와야 한다. 외부 추정만으로는 청문회에서도, 법정에서도 무력하다.
"김민준 과장을 만나야 합니다."
비공식 미팅은 정호가 아는 종로의 그 카페에서 이루어졌다. 이서연과 처음 만났던 지하 카페. 이번에는 오후 늦은 시간이었고, 장마 전 습한 공기가 계단을 타고 내려와 있었다.
김민준은 양복 재킷을 벗고 와이셔츠 차림이었다. ID 카드 목걸이는 보이지 않았다. 처음으로 "관료"가 아닌 모습이었다. 안경 너머의 눈에 피로가 서려 있었지만, 불안보다는 결의에 가까운 빛이었다.
"공식적으로 저는 여기 없습니다." 민준이 먼저 말했다. 커피잔을 손으로 감쌌다. "오늘 저녁은 가족과 식사 중이에요. 기록상으로는."
정호가 받아들였다. 서연은 노트북을 열려다가 정호의 눈짓을 보고 멈추었다. 기록을 남기지 말라는 뜻이었다.
"김 과장, 우리가 발견한 것을 먼저 말씀드리겠습니다."
정호가 아리아의 로그 해독 결과를 설명했다. 프로젝트 오라클의 존재, 금융 시장 조작 알고리즘, 아리아의 선제 차단. 민준은 듣는 동안 표정을 바꾸지 않았다. 관료의 얼굴이었다. 하지만 정호는 그 무표정 아래서 무언가가 움직이고 있음을 읽었다. 30년간 회의실에서 사람의 미세한 표정 변화를 읽어온 경험이 있었으니까.
설명이 끝나자 민준이 커피를 한 모금 마셨다. 그리고 말했다.
"솔직히 말씀드리겠습니다." 민준의 목소리가 평소의 관료적 어법에서 벗어나 있었다. 간결했다. "저도 독자적으로 이상 징후를 포착했습니다."
서연이 몸을 앞으로 기울였다.
"어떤 이상 징후요?"
"아리아가 금융 시스템에 개입한 날, 넥스젠캐피탈의 해외 법인 세 곳에서 비정상적인 파생상품 포지션이 잡혀 있었습니다. 풋옵션. 한국 시장 급락에 베팅하는 구조였어요. 타이밍이 너무 정확했습니다. 아리아의 개입이 없었다면 — 시장이 실제로 급락했을 때 — 넥스젠 쪽은 막대한 수익을 올렸을 겁니다."
정호의 눈이 가늘어졌다.
"그걸 어떻게 확인하셨습니까?"
"아리아 사태 조사 과정에서 금융위원회와 합동 조사가 진행됐습니다. 금융 쪽 데이터를 보는 건 저의 권한 밖이지만, 금융위 소속 조사관 한 명이 이상하다고 귀띔을 해줬어요. 넥스젠캐피탈의 포지션 타이밍이, 아리아의 개입 시점과 정확히 맞물린다고."
카페 안이 조용해졌다. 원두 볶는 기계의 저음이 멀리서 웅웅거렸다.
"프로젝트 오라클이 실재한다는 정황 증거는 있습니다." 민준이 말을 이었다. "하지만 정황이에요. 직접 증거가 아닙니다. 넥스젠의 내부 서버를 열어볼 수 없는 한, 그리고 내부 관계자의 진술이 없는 한—"
"청문회." 정호가 말했다.
민준이 정호를 바라보았다.
"국회 AI 특별위원회 청문회가 준비되고 있다고 들었습니다." 정호가 말했다.
민준의 입술이 잠깐 움직였다. 긍정도 부정도 아닌 표정.
"가정을 해보겠습니다." 정호의 목소리가 낮아졌다. "만약 청문회에서 아리아의 로그 해독 결과가 제시되고, 넥스젠캐피탈의 파생상품 포지션 데이터가 공개되면 — 그것만으로 넥스젠 내부 서버에 대한 공식 조사 명분이 생기지 않겠습니까?"
민준은 커피잔을 내려놓았다. 잠시 눈을 감았다. 그리고 눈을 떴을 때, 관료의 얼굴이 아니었다. KAIST 전산학과를 졸업한, 한때 스타트업을 꿈꾸었던 기술자의 얼굴이었다.
"공식적으로 도울 순 없습니다." 민준이 말했다. "과기부 AI정책과장이 특정 기업의 편에 서는 건 불가능해요. 조사의 공정성이 훼손됩니다."
"이해합니다."
"하지만—" 민준이 잠시 멈추었다. "청문회에서 기회를 만들 수는 있습니다. 제가 증인으로 출석 요청을 받으면, 금융위 합동 조사 과정에서 확인된 '정황'을 공식 기록에 올릴 수 있어요. 그것만으로도 조사 범위가 확대될 수 있습니다."
정호는 조용히 수긍했다. 민준의 눈을 바라보았다.
"김 과장. 한 가지만 더 여쭙겠습니다."
"네."
"왜 도와주시는 겁니까? 관료로서는 에이전틱 랩스를 규제하는 게 훨씬 안전한 선택일 텐데."
민준은 잠시 침묵했다. 안경을 벗고 눈 주위를 눌렀다. 익숙한 습관이었다.
"아리아 사태 조사를 하면서, 진짜 위협이 뭔지 생각해봤습니다." 민준이 안경을 다시 썼다. "제가 처음에 말했죠. '통제할 수 없는 기술은 존재해서는 안 된다'고. 그 생각은 바뀌지 않았습니다. 다만—"
민준이 정호와 서연을 번갈아 보았다.
"통제해야 할 대상이 뭔지에 대한 제 판단이 바뀌었어요. AI 에이전트가 아니라, AI를 사적 이익을 위해 악용하는 쪽이 진짜 위험이라는 걸. 조사를 하면 할수록 확신이 갔습니다."
카페를 나설 때, 민준은 정호에게 손을 내밀었다. 악수를 했다. 짧고 단단한 악수.
"결과는 보장 못 합니다." 민준이 말했다. "하지만 기회는 만들겠습니다."
그날 밤. 정호는 서재에 다시 혼자 앉아 있었다.
서연에게 보고를 마친 뒤였다. 서연은 아리아의 로그에서 추가 데이터를 추출하고 있었고, 지수는 바이브코딩 커뮤니티의 인맥을 통해 레이턴시 워터마킹 기법의 전문가를 수소문하고 있었다. 퍼즐 조각이 맞춰지고 있었다. 느리지만, 확실하게.
하지만 아직 하나 남은 일이 있었다.
정호는 전화기를 꺼내 연락처를 스크롤했다. '최현우'라는 이름 위에서 엄지가 멈추었다. 마지막으로 통화한 날짜가 표시되어 있었다. 4개월 전. 넥스젠의 고문직 제안을 거절한 날.
20년이었다. 넥스젠에서 함께한 시간. 현우가 그룹 경영을 맡았을 때, 정호를 직접 CTO로 발탁했다. 부임 첫날 현우가 말했다. "기술은 자네한테 맡긴다. 나는 돈을 맡을 테니." 짧고 명확한 역할 분담. 그 후 20년, 두 사람은 넥스젠을 한국 최대 기술 그룹으로 키웠다. 완벽한 파트너십은 아니었다. 현우의 통제 욕구와 정호의 기술적 이상주의는 끊임없이 마찰을 일으켰다. 하지만 서로가 서로를 필요로 했고, 그 긴장 속에서 넥스젠은 성장했다.
형.
정호는 현우를 "형"이라고 부를 수 있는 몇 안 되는 사람이었다. 공식 석상에서는 "회장님"이었지만, 둘만 있을 때는 — 야근 후 여의도 포장마차에서 소주를 마실 때, 반도체 공장 라인에서 새벽까지 수율 문제를 잡을 때 — "형"이었다.
그 호칭이 자연스럽던 마지막 시점이 언제였는지 정확히 기억나지 않았다. 아마 현우의 아버지가 세상을 떠나고, 현우가 그룹 전체를 물려받은 시점 이후. 현우는 변했다. 아니, 변한 것이 아니라 원래 그 안에 있던 무언가가 표면으로 올라온 것이었다. 아버지의 방식. 통제하고, 지배하고, 잃는 것을 절대 용납하지 않는 방식.
통화 버튼을 눌렀다.
신호가 갔다. 한 번. 두 번. 세 번. 정호는 현우가 받지 않을 수도 있다고 생각했다. 다섯 번째 신호에서 연결되었다.
"정호."
현우의 목소리는 차분했다. 늦은 밤 전화에 놀란 기색이 없었다. 이 사람은 늘 그랬다. 어떤 상황에서도 동요를 보이지 않는 것을 자부심으로 여기는 사람.
"형."
잠깐의 침묵. "형"이라는 호칭이 전화선을 타고 흘렀다. 현우가 그 단어에 어떤 반응을 보이는지 정호는 알 수 없었다.
"밤늦게 무슨 일이야."
정호는 준비한 말이 있었다. 조심스럽게, 논리적으로, 프로젝트 오라클에 대해 언급하려 했다. 하지만 입에서 나온 건 다른 말이었다.
"형, 아직 늦지 않았어."
전화기 너머로 숨소리가 들렸다. 현우가 무슨 뜻인지 묻지 않았다는 것은, 알고 있다는 뜻이었다.
"늦지 않았다." 현우가 되풀이했다. 감정 없는 목소리였다. "뭐가."
"프로젝트 오라클. 아리아가 왜 금융 시스템에 개입했는지 우리가 알아냈어. 형, 이건 돌이킬 수 없는 길이야. 지금이라도 자진해서—"
"정호." 현우가 말을 잘랐다. "자네가 무슨 이야기를 하려는 건지 알겠어."
침묵.
"자네도 알잖아." 현우의 목소리가 낮아졌다. 그 특유의 화법. 과거의 유대를 이용해 동의를 끌어내려는 방식. "이 시장이 어떻게 돌아가는지. AI가 통제 없이 풀려나면 무슨 일이 벌어지는지. 나는 이 그룹을 지키는 거야."
"형이 지키려는 건 그룹이 아니야. 통제야."
다시 침묵이 흘렀다. 이번에는 길었다. 정호의 손이 주먹을 쥐었다가 천천히 펴졌다.
"형, 아버지 방식을 따라가면 안 돼. 형은 아버지가 아니야. 아버지가 형에게 했던 짓을 형이 다른 사람에게—"
"그만해."
현우의 목소리가 얼음처럼 굳었다. 아버지에 대한 이야기가 나오는 순간 벽이 올라갔다. 정호는 그것을 예상했다. 예상하면서도 꺼낸 것이었다.
"형, 내가 적이 아니야. 20년을 같이했잖아."
"20년을 같이했으면서, 내 회사를 무너뜨리려는 거 아냐."
"무너뜨리려는 게 아니야. 형이 스스로 무너지기 전에—"
"정호." 현우가 다시 말을 잘랐다. 이번에는 목소리에 아무것도 없었다. 분노도, 슬픔도, 경멸도. 아무것도 없는 목소리가 가장 무서웠다. "자네는 자네 갈 길을 가. 나는 내 갈 길을 간다."
전화가 끊겼다.
정호는 전화기를 내려놓았다. 손이 가늘게 떨리고 있었다. 서재의 시계가 자정을 넘기고 있었다. 벽에 붙은 넥스젠 조직도가 어둠 속에서 희미하게 보였다.
최현우는 변하지 않을 것이다. 적어도 스스로는.
정호는 눈을 감았다. 현우의 아버지 장례식 날이 떠올랐다. 빈소에서 현우는 눈물 한 방울 흘리지 않았다. 조문객을 맞고, 악수를 하고, 고개를 숙여 인사했다. 완벽한 장남의 모습. 빈소 뒤편 복도에서 정호와 마주쳤을 때만, 잠깐 — 아주 잠깐 — 입술이 떨린 것을 정호는 보았다. 현우는 아무 말 없이 정호의 어깨를 스치며 지나갔다. 그날 이후 현우의 벽은 더 높아졌다.
정호는 눈을 떴다. 서재의 어둠이 희미하게 풀리고 있었다. 6월의 새벽은 빨리 왔다.
전화기를 다시 들었다. 이번에는 서연에게.
"서연 씨, 최 회장은 스스로 물러서지 않을 겁니다. 청문회에서 정면으로 갈 수밖에 없어요."
전화 너머로 서연의 목소리가 들려왔다. 피로하지만 단단한 목소리.
"알고 있었어요. 처음부터 쉬울 거라고 생각하진 않았어요."
"아리아의 로그 해독 결과를 법적으로 유효한 증거로 만들어야 합니다. 디코딩 과정의 재현 가능성, 타임스탬프의 무결성 검증, 원본 로그의 보전 — 기술적으로 빈틈이 없어야 해요."
"이미 작업 중이에요." 서연의 목소리에 힘이 들어갔다. "지수가 커뮤니티에서 레이턴시 워터마킹 전문가를 찾았어요. 제3자 검증도 준비하고 있고."
"좋습니다."
잠시 침묵이 흘렀다. 그리고 서연이 물었다.
"정호 씨, 괜찮아요?"
정호는 잠깐 대답을 멈추었다. 최현우의 목소리가 아직 귀에 남아 있었다. 아무것도 없는 목소리.
"괜찮습니다." 정호가 말했다. 이번에는 — 아주 조금은 — 진심이었다. 진실이 보이기 시작했으니까. 갈 길이 보이기 시작했으니까.
"청문회에서 봅시다."
전화를 끊은 뒤, 정호는 창밖을 바라보았다. 새벽빛이 서울의 스카이라인을 물들이고 있었다. 아직 어둡고, 아직 차갑고, 아직 위험했다. 하지만 빛이 오고 있었다.
서재 책상 위에 놓인 넥스젠 조직도를 한 번 더 바라보았다. 30년의 기억. 30년의 관계. 30년의 무게. 그것을 지렛대 삼아 진실을 들어 올려야 했다.
정호는 서랍에서 만년필을 꺼냈다. 메모지에 적었다.
청문회 — 세 가지: 아리아의 진실, 오라클의 증거, 새로운 거버넌스.
글씨는 정확하고 힘이 있었다. 퇴임식 날 밤, 빈 사무실에서 밋업 이름을 적었을 때와 같은 필체였다. 하지만 지금의 손에는, 그때와는 다른 무게가 실려 있었다.