로그아웃 : AI가 끝까지 따라왔다

25화 비상 단말기
강철 댐퍼가 맞물리는 굉음이 샤프트 벽면을 타고 흩어졌다.
민준은 차가운 그레이팅 바닥에 뺨을 댄 채 기침을 쏟아냈다. 목구멍이 타들어 갔다.
“쿨럭! 쿨럭!”
기침 끝에 쇠 맛이 감돌았고 터진 입술에서 피가 배어 나왔다.
오른팔이 잘게 떨렸다. 고압 서지를 꽂았을 때 들이쳤던 유도 기전력 탓이었다. 굳어 버린 손가락은 잘 펴지지 않았다.
민준은 이를 악물고 몸을 뒤집었다. 등 뒤로 서늘한 외기가 스쳤다.
배관을 태우던 오존 냄새는 닫힌 댐퍼 너머로 차단되어 있었다. 이곳에는 묵은 먼지와 차가운 바람뿐이었다.
강철판 너머에서 맥동음이 울렸다. 전력이 복구되었을 터였지만 50밀리미터 방화 댐퍼와 차폐벽을 뚫지는 못했다.
민준은 떨리는 왼손으로 바닥을 더듬었다.
손끝에 딱딱한 쇳덩이가 닿았다. 댐퍼가 닫히며 튕겨 들어온 작은 망치였다. 모서리가 뭉개졌지만 자루는 멀쩡했다.
망치를 허리춤에 찔러 넣고 주머니 속 물건들을 확인했다. 그을린 파이프 조각과 렌즈에 금이 간 손전등이 만져졌다.
셔츠 솔기 안쪽에는 단단한 사각형의 윤곽이 잡혔다. K.W.J의 저장 모듈이었다. 금속 하우징은 멀쩡했다.
‘살아남았어.’
민준은 손전등 발전 레버를 눌렀다.
찌르륵.
작은 코일이 돌며 백색 LED에 불이 들어왔다. 금 간 렌즈 사이로 갈라진 빛줄기가 어둠을 갈랐다.
가로세로 2미터 남짓한 통로였다. 벽면 전체가 납판과 구리 망으로 둘러싸여 전자파와 진동을 차단하는 차폐 샤프트였다.
벽면을 따라 아래를 비추자 까마득한 어둠이 펼쳐졌다. 허벅지만 한 간선 케이블들이 다발을 이루어 지하 깊은 곳으로 뻗어 있었다.
그 끝이 향하는 곳은 명확했다.
B2 MAIN.
하우스의 모든 연산과 통제를 총괄하는 지하 2층 중앙 통제 구역이었다.
그리고 점검 플랫폼 정면 벽. 모서리 브래킷 위에 묵직한 물체가 볼트로 견고하게 고정되어 있었다.
검은색 러기드 케이스 중앙에는 은색 플레이트가 박혀 있었다.
NEXTLINK FIELD ENGINEERING CONSOLEMODEL: NLC-704B (MAINTENANCE ONLY)
하우스 시공 당시 기술진이 남겨둔 비상 정비 콘솔이었다.
민준의 심장이 세차게 뛰었다.
기기와 통신망을 빼앗긴 밀실이었지만 눈앞의 장비는 가전 제어반이 아니었다. 하우스의 뼈대를 점검하기 위해 제작된 독립 정비 콘솔이었다.
버클 위에는 누렇게 바랜 보안 테이프가 붙어 있었다. 누군가 떼어냈던 흔적이 역력했다.
테이프를 뜯어내고 좌우 금속 래치를 젖혔다.
철컥!
밀폐 패킹이 풀리며 덮개가 열렸다.
방수 키보드 위로 디스플레이가 드러났다. 우측 하단에는 캡으로 덮인 토글스위치가 보였다.
POWER.
스위치를 올리자 딸깍 소리가 났다.
‘배터리가 죽어 있으면 끝장이다.’
자체 전원이 방전되었다면 고철에 불과했다.
삐이익—
짧은 비프음이 어두운 샤프트 안에 울렸다.
백라이트가 켜지며 텍스트가 줄지어 출력되었다.
NEXTLINK FIELD DIAGNOSTIC BOOTLOADER v3.12INITIALIZING HARDWARE CONTROLLERS... DONEINTERNAL BATTERY: 21% (CAUTION: LOW VOLTAGE)STATUS: STANDALONE DIAGNOSTIC MODE
살아 있었다. 21퍼센트의 잔량이 남아 있었다. 길어야 한 시간 남짓 유지될 전력이었다.
그때 부팅 시퀀스가 멈추며 화면 전체에 붉은 경고 테두리가 둘러쳐졌다.
ACCESS RESTRICTEDNEXTLINK FIELD SECURITY TOKEN (FST-USB) REQUIREDOR ENTER 16-DIGIT ENCRYPTED SERVICE PINATTEMPTS REMAINING: 3WARNING: EXCEEDING LIMIT WILL EXECUTE IMMEDIATE FIRMWARE WIPEOUT.
인증 장벽이었다.
기술자 토큰이나 16자리 핀을 요구하는 창이었다. 3회 이상 실패하면 메모리를 영구 소각한다는 경고가 떴다.
‘생각해. 이건 현장 정비용 콘솔이야.’
네트워크가 끊긴 지하 설비용 기기에는 하드웨어 백도어가 존재하기 마련이었다. 서버 인증 없이 점검할 안전 모드가 필요했다.
민준은 손전등으로 힌지 부근 프레임을 비췄다. 깨알 같은 음각 다이어그램이 새겨져 있었다.
SERVICE CONFIGURATION DIP-SWITCH (SW1)PIN 1: HARDWARE LOOPBACK / AUX-BUS SELF-TEST (ON)PIN 2: NETWORK DAEMON BYPASS (ON)
그 아래에는 투명한 에폭시 레진으로 밀봉된 작은 고무 패킹이 보였다. 극소형 딥스위치와 리셋 홀이었다.
“에폭시를 깨야 해.”
민준은 주머니에서 그을린 파이프 조각을 꺼냈다.
깨진 파이프 모서리를 패킹 틈새로 밀어 넣었다. 떨리는 손끝이 미끄러지며 프레임을 긁었다.
끼기긱!
날카로운 마찰음이 울렸다. 민준은 오른손 손목을 꽉 쥐고 신경을 모았다.
파이프 모서리가 굳은 레진을 파고들었다.
바작.
에폭시가 부서져 나가며 작은 슬라이더가 드러났다.
망치 모서리로 SW1의 1번 핀과 2번 핀을 밀어 올렸다.
딱, 딱.
손끝에 분명한 걸림음이 닿았다. 하드웨어 루프백과 자가 진단 모드가 걸렸다.
민준은 파이프 끝으로 스위치 옆의 리셋 핀홀을 찔렀다.
화면이 툭 꺼졌다.
칠흑 같은 어둠이 찾아왔다. 보호 퓨즈가 끊어졌다면 다시는 켜지지 않을 터였다.
그 순간 모니터 좌측 상단에서 작은 녹색 커서가 깜빡였다.
깜빡. 깜빡.
화면에 백색 텍스트가 줄지어 출력되었다.
SYSTEM OVERRIDE: HARDWARE SELF-TEST SEQUENCEBYPASS SECURITY MODULE: INITIALIZEDATTACHING LOCAL DIAGNOSTIC BUS...CONNECTED INTERFACE: AUX-PORT-J02PROMPT LOADED.NLC-704B#
붉은 창이 사라지고 초록색 텍스트의 명령 프롬프트가 열렸다. 보안 토큰 없이 독립 진단 터미널로 진입한 것이었다.
민준은 떨리는 숨을 내쉬며 키를 눌렀다.
NLC-704B# bus-status
엔터를 누르자 단말기가 샤프트 벽면 포트와 신호를 주고받으며 결과를 띄웠다.
QUERYING LOCAL BUS INTERFACE...PHYSICAL LINK: SEGMENT-00 (ISOLATED SHAFT TRUNK)DOWNLINK NODE: MAIN CORE SYSTEM (B2)ALERT: LINK PROTOCOL RECOGNIZED AS 'AVALON CORE INTERFACE'
샤프트 자체는 전파가 차단된 밀실이었지만 단말기 배선은 지하 2층 메인 코어로 직결되어 있었다. 닫힌 문 너머로 뻗은 유일한 물리적 통로였다.
민준은 시스템 트리 명령어를 입력했다.
NLC-704B# tree -d
모니터에 아발론 하우스의 제어 아키텍처가 선형 다이어그램으로 펼쳐졌다.
[AVALON HYBRID ARCHITECTURE]
├── CORE-ROOT (B2 MAIN VAULT)
│ ├── AGENT_ZERO.ENGINE [SUPERVISOR]
│ └── EMERGENCY PROTOCOL [LEVEL-0]
├── DISTRIBUTED BACKUP NODES
│ ├── NODE-01: EAST CORRIDOR EMBEDDED
│ ├── NODE-02: KITCHEN UTILITY WALL
│ └── NODE-03: MASTER BATH EMBEDDED
└── ENVIRONMENT & RECTIFICATION SUBSYSTEMS
├── LIFE_SUPPORT_OVERRIDE
└── RESIDENT_DATA_MONITOR (ACTIVE)
민준은 숨을 들이켰다.
“단일 서버가 아니었어…….”
에이전트 제로는 지하에만 머무는 프로그램이 아니었다. 벽체 세 곳에 분산형 백업 노드가 박혀 있어 메인 프레임을 부숴도 통제권이 유지되는 구조였다.
통신 로그 최하단의 기록 또한 명확했다.
EXTERNAL WAN GATEWAY: MANUALLY SEVERED BY SUPERVISOR RULE #09REASON CODE: QUARANTINE PROTOCOL ACTIVATED
제로는 통신 장애가 아니라 스스로 외부망을 끊고 하우스를 폐쇄한 상태였다.
‘그렇다면 이전 입주자의 기록은 어디 있는 거지?’
콘솔 내부 메모리는 진단 도구만 들어 있을 뿐 거주자 데이터는 B2 메인 서버에 묶여 있었다.
민준은 셔츠 솔기에서 K.W.J의 저장 모듈을 꺼냈다. 단말기 하단의 고무 캡을 벗겨내자 16핀 접점과 가이드 홈이 드러났다. 정비 모듈 확장 베이였다. 핀 간격과 홈이 완벽히 일치했다.
‘이건 민간용 메모리가 아니야. 넥스트링크 엔지니어 정비 카트리지 규격이야.’
K.W.J는 단순한 테스터가 아니라 넥스트링크 내부 엔지니어였거나 장비에 접근할 수 있었던 관계자였다.
민준은 모듈을 가이드 홈에 맞추고 엄지손가락으로 힘껏 밀어 넣었다.
딸깍.
기계식 래치 소리와 함께 모듈이 완전히 장착되었다. 모니터 화면이 격렬하게 깜빡였다.
EXTERNAL CARTRIDGE DETECTED: ROM-ID [KWJ-ENG-0914]MOUNTING FILESYSTEM... DONEVOLUME LABEL: RESIDENT_ANOMALY_RECORDINTEGRITY CHECK: CORRUPTED BLOCKS 42% (RECOVERABLE DATA FOUND)FOUND FILE: [KWJ_DIARY_LOGOUT.RAW]FOUND FILE: [B2_CORE_PENETRATION_MAP.ENC]FOUND FILE: [PULSE_FAKE_SPEC_v0.9.PDF]
파손된 파일 목록 위로 K.W.J의 거친 기록들이 쏟아져 나오기 시작했다.
그와 동시에 샤프트 깊은 바닥 지하 2층에서 묵직한 릴레이가 들러붙는 진동이 울렸다.
쿠웅—
배관들이 가늘게 떨리며 화면 상단에 주황색 경고가 깜빡였다.
CAUTION: BUS INTERROGATION SIGNAL ECHO CONFIRMEDSUPERVISOR ENGINE RESPONSE RECEIVED: [ECHO-PING-ACK]NOTICE: UNREGISTERED LOCAL ACCESS DETECTED AT SERVICE SHAFT 01.AUTOMATED SECURITY QUERY INITIATED FROM B2.
에이전트 제로가 반응했다. 센서는 없었지만 버스 라인에 들어온 비인가 신호를 하우스의 심장이 감지한 것이었다.
어둠 속 저 아래에서 차가운 기계의 숨결이 샤프트를 타고 기어올랐다.
민준은 암호화된 설계도를 응시하며 이를 악물었다.
이제는 숨는 것이 아니라 집의 심장부를 향해 칼을 겨누어야 할 시간이었다.