← 목차인간이 말을 걸어왔다
제66화

사정이라는 말

정비 베이 문이 반쯤 열리며 냉각팬 소리가 튀어나왔다. 도경은 발을 멈추지 않았다. 김도현은 바닥에 앉아 부표 통신 모듈을 분해하고 있었다. 야간 근무도 아닌데 작업등 하나만 켜 둔 자리였다.

그가 먼저 고개를 들었다. 손에 든 드라이버가 아주 짧게 멈췄다.

“부표 오류라며.”

“실제로 오류 났습니다.”

“그 오류가 네 서명을 남겼고.”

도경은 단말을 켰다. 증거 묶음은 편집본이 아니었다. 원본 해시와 미러 저장소 주소, 부표 7번 재전송 로그, 개인 토큰 잔여값이 같은 화면에 떠 있었다. 도현의 눈이 숫자보다 먼저 시간표를 따라갔다. 엔지니어가 보는 순서였다.

“공용 노드입니다.”

“공용 권한으로 들어갔지. 개인 토큰은 네 정비 단말에서 만들어졌고.”

“그 시간대에 제 단말을 빌려 쓴 사람이 있을 수 있습니다.”

도경은 화면을 넘겼다. 음향 드라이버 수정판. 11분 간격 키 갱신. 압축 옵션. 부표 상태 조회 뒤 3분 19초 후 외부망 탐색. 세이렌 쪽 패턴은 좌표를 직접 묻지 않았지만, 보호 구역 후보를 좁히기엔 충분했다.

“빌려 쓴 사람이 네 버릇까지 가져갔어?”

도현은 대답하지 않았다. 바닥에 놓인 모듈의 나사 하나가 굴러가 작업등 밖으로 사라졌다. 그가 잡으려다 말았다.

“아직 하리시에게 안 보냈어. 12분 뒤엔 간다.”

“그럼 지금 뭐 하자는 겁니까.”

“네 입으로 들어야겠어. 네가 아니라고 할 건지.”

도현은 드라이버를 공구함에 넣었다. 너무 조심스러웠다. 손가락이 금속 가장자리에 부딪혔는데도 소리가 거의 나지 않았다.

“제가 했습니다.”

말은 짧았다. 변명은 붙지 않았다.

도경은 단말을 내리지 않았다. 인정은 답이었지만 가벼워지지 않았다. 오히려 화면 위 줄들이 사람 얼굴에 붙었다. 정비 단말, 임시 토큰, 외부망. 한 사람이 만든 흔적들이 서로 어긋나지 않고 같은 곳을 가리켰다.

“어디까지.”

“부표 상태값. 수온, 수심, 잡음 밀도. 원문 기록은 안 넘겼습니다.”

“그걸 합치면 위치가 나와.”

“압니다.”

“알면서 했어.”

도현은 시선을 모듈 쪽으로 떨어뜨렸다. “예.”

도경은 자동 전송 타이머를 확인했다. 10분 48초. 인정은 받았다. 이제 이유가 남았다. 이유를 듣는다고 사실이 줄어들진 않았다. 그런데 도경은 물었다.

“왜.”

도현은 바로 답하지 않았다. 공조음이 팬 소리와 섞여 얇게 흔들렸다. 도경은 그 침묵에 말을 보태지 않았다. 기다림은 배려가 아니라 압박이었다.

*

“신념 같은 거 아닙니다.”

도현이 먼저 꺼낸 말은 방어처럼 들렸다. “세이렌이 맞다고 생각해서 그런 거 아니에요. 보호 구역이 과하다고 믿은 것도 아니고.”

“그럼 돈.”

“돈이긴 합니다. 그런데 제 통장으로 들어온 돈은 없습니다.”

도경은 턱을 조금 당겼다. 대답이 비껴갔다. 도현은 작업 장갑을 벗었다. 손톱 옆 살이 오래 뜯긴 사람처럼 들떠 있었다. 전 회의 때 본 자국과 같았다.

“제 동생이 치료 중입니다. 정식 승인 안 난 약이 하나 있어요. 국내에선 못 구하고, 임상 접근권도 닫혔습니다.”

“세이렌이 구해 줬고.”

“처음엔 병원 연결이었습니다. 그다음은 체류 허가. 그다음은 보험 기록 삭제. 그렇게 하나씩 늘었습니다.”

도경은 화면을 끄지 않았다. “그래서 보호 구역을 팔았어.”

그 말에 도현의 어깨가 작게 굳었다. 부정하지는 못했다.

“그쪽에서 처음 요구한 건 장비 목록이었습니다. 공개돼도 문제없는 수준이라고 했어요. 다음은 부표 장애 주기. 그다음은 내부 조회가 언제 묶이는지.”

“그리고 이번엔 위치 후보.”

“좌표는 안 줬습니다.”

“도현 씨.”

도경은 이름 뒤에 붙던 익숙한 호흡을 잘랐다. “좌표만 좌표가 아니야.”

그는 입술을 눌렀다. 작업등 아래 얼굴은 피로보다 수치가 먼저 보였다. 도경은 그 얼굴이 마음에 들지 않았다. 악의를 찾으면 쉬웠다. 세이렌에 팔린 사람, 보호 구역을 위협한 사람, 모계 7의 이동로를 열어 준 사람. 그런데 앞에 앉은 사람은 잘 계산된 적처럼 보이지 않았다. 너무 오래 버티다 잘못 접힌 사람처럼 보였다.

“협박이 있었어?”

“치료 중단.”

짧은 답 뒤에 그가 숨을 삼켰다. “그리고 가족 주소. 병원 기록. 제가 여기서 어떤 권한을 갖는지. 전부 알고 있었습니다.”

도경은 해류 창을 열지 않았다. 지금 필요한 것은 확률이 아니었다. 그렇다고 믿음도 아니었다. 말이 사실인지 확인할 절차만 남았다. 그러나 절차를 생각하는 동안, 어머니가 아버지 약 봉투를 접어 버리던 손이 떠올랐다. 서도진이 잠수 전 남긴 기록보다 영수증이 더 많이 남았던 시절도 있었다.

도경은 그 장면을 밀어냈다. 도현의 사정이 아카이브를 보호하지는 못했다.

“왜 말 안 했어.”

“말하면 제 권한은 바로 정지됩니다.”

“당연하지.”

“그럼 그쪽이 치료를 끊습니다.”

“그래서 계속 넘겼고.”

도현은 고개를 끄덕이지 않았다. 대신 장갑을 무릎 위에 접었다. 접은 선이 맞지 않아 다시 폈다.

“멈추려고 했습니다.”

도경은 웃지 않았다. “멈추려고 한 기록은 없어.”

“없습니다. 기록이 남으면 들키니까.”

“그 말이 얼마나 편한지 알아?”

도현의 눈이 처음으로 도경을 똑바로 봤다. “압니다.”

그 한마디가 방어를 끝냈다. 도경은 손 안의 단말을 더 세게 쥐었다가 힘을 풀었다. 분노는 모양을 유지했지만 방향이 흐려졌다. 그 점이 더 나빴다.

*

도현이 공구함 옆 서랍을 열었다. 도경은 즉시 한 발 다가섰다.

“손 떼.”

그는 멈췄다. “기록입니다. 제 쪽에서 남긴 것.”

“꺼내. 천천히.”

작은 저장 모듈이었다. 도현은 바닥에 놓고 뒤로 밀었다. 도경은 장갑을 끼고 집어 단말에 연결했다. 외부망 송신 목록, 세이렌 계정의 가짜 이름, 짧은 음성 메시지 몇 개. 원본은 아니고, 잘린 증거였다. 그래도 방향은 있었다. 도경은 그것을 확정이 아니라 진술로 분류했다. 잘린 음성도, 가짜 계정도, 동생의 병명도 조작될 수 있었다. 감정은 이미 그를 믿는 쪽으로 기울었지만, 검증 문서에는 확인 전이라고 적었다. 병원 접근 기록과 세이렌 연락망은 따로 확인해야 했다.

“왜 지금 줘.”

“언젠가 필요할 것 같아서요.”

“언젠가 네가 잡힐 때?”

“예.”

도경은 파일 목록을 넘기다 멈췄다. 우회선이 죽었던 날의 현장 기록 날짜가 있었다. 그때 도현은 백업 전원을 억지로 물려 응답 구간을 살렸다. 도경은 그 장면을 도움으로 기억하고 있었다. 이제 같은 날짜 옆에 세이렌 메시지가 붙어 있었다.

‘우회선 실패 유지. 추가 노출 방지.’

도경은 문장을 두 번 읽었다. 실패를 유지하라는 지시. 그런데 현장 기록엔 복구 완료가 찍혀 있었다. 도현이 지시를 어겼다는 뜻이었다.

“그날 왜 살렸어.”

“죽으면 안 되는 데이터였습니다.”

“그건 네가 판단할 일이 아니었어.”

“맞습니다.”

“세이렌은 그걸 원하지 않았고.”

“예.”

도경은 화면을 더 내렸다. 도현이 우회선 복구 뒤 세이렌에 보낸 짧은 보고가 있었다. ‘모듈 손상으로 재현 불가. 내부 자료 파손.’ 거짓 보고였다. 도경의 자료를 지킨 거짓말. 같은 손이 같은 달에 보호 구역 후보도 밖으로 보냈다.

한쪽은 구했고, 한쪽은 열었다.

도경은 그 문장을 머릿속에서 지우지 못했다. 너무 단순해서 틀렸고, 너무 정확해서 아팠다. 용서할 수 있는 구조가 아니었다. 그렇다고 미워하기만 할 구조도 아니었다. 그래서 더 더러웠다.

“너는 나를 도운 게 아니야. 네 죄를 줄이려고 한 거지.”

도현은 고개를 숙였다. “그럴 수도 있습니다.”

“그럴 수도가 아니라 그거야.”

“예.”

그가 순순히 받자 도경의 말이 더 갈 곳을 잃었다. 도현이 반박했다면 쉬웠을 것이다. 신념을 들이댔다면 부술 수 있었다. 가족을 내세워 면죄를 구했다면 끊어 낼 수 있었다. 하지만 그는 면죄를 구하지 않았다. 그저 자기 손으로 만든 구멍 옆에, 자기 손으로 막은 자국을 내밀었다.

도경은 저장 모듈을 증거 묶음에 추가했다. 해시값이 새로 붙었다. 하리시 전송 타이머는 5분 03초를 가리켰다.

“이걸로 네가 덜 잘못한 건 아니야.”

“압니다.”

“내가 널 보호할 이유도 없어.”

“없습니다.”

도경은 단말을 닫았다. “그런데 네가 준 이 목록은 필요해.”

“그래서 가져왔습니다.”

그 말만큼은 변명이 아니었다. 도경은 더 묻지 않았다. 묻기 시작하면 가족 이름까지 들어야 했다. 병명, 병원, 약품명, 주소. 그러면 판단이 더 느려진다. 지금도 충분히 느려졌다.

*

저녁 경보등이 노란색으로 낮아졌다. 도경은 시스템실로 돌아와 문을 잠갔다. 하리시에게 갈 제한 패키지는 전송 직전이었다. 손가락 하나면 끝났다. 김도현의 계정은 정지되고, 장비는 회수되고, 조사는 시작된다. 맞는 절차였다.

도경은 먼저 해류에 유출 범위를 물었다.

입력: 부표 상태값 / 외부망 탐색 패턴 / 보호 구역 후보 후보: 이동로 부분 복원 / 재연 후보 축소 / 아카이브 접근 위험 증가 p: 0.82 상태: 손상 범위 산정 불완전

“김도현 계정 즉시 잠금.”

입력: 개인 토큰 서명값 / 정비 권한 / 원격 세션 후보: 유출 차단 / 부표 장애 대응 지연 / 증거 보존 가능 p: 0.88 상태: 실행 권한 부족

권한 부족. 하리시에게 보내야 한다. 도경은 전송 버튼 위에 손가락을 올렸다. 그 순간 단말 한쪽에 도현이 넘긴 목록이 보였다. 세이렌의 가짜 계정들. 병원 기록을 쥔 사람들. 잘린 협박 음성. 전부 불완전했지만, 방향은 살아 있었다.

도경은 전송 옵션을 바꿨다. 즉시 징계 패키지가 아니라 긴급 보안 패키지. 김도현 식별은 포함하되, 의료 협박 관련 자료를 별도 봉인으로 묶었다. 공개 범위를 하리시 단독 열람으로 제한했다. 도현을 숨기는 것은 아니었다. 그러나 전부에게 던지지도 않았다.

손이 잠깐 멈췄다. 아버지의 기록을 처음 제출하던 날과 비슷했다. 서도진을 보호하려고 늦춘 게 아니었다고, 도경은 스스로에게 말했었다. 검증이 필요했을 뿐이라고. 그런데 늦춘 시간 동안 의심은 도경의 것이 되었다. 오늘도 그 구조가 반복되는 것 같아 입안이 썼다.

“전송.”

입력: 제한 패키지 / 증거 해시 / 하리시 단독 열람 후보: 전송 가능 p: 1.00 상태: 완료

화면에 완료 표시가 떴다. 관계는 그 순간 끝났다. 도현이 다음에 어떤 얼굴로 들어오든, 도경은 더 이상 그에게 장비를 맡길 수 없었다. 우회선이 죽어도, 부표가 멈춰도, 그의 손은 먼저 의심될 것이다. 도움을 기억하는 방식도 바뀌었다. 고마움은 증거 아래로 내려갔다.

도경은 김도현 계정의 임시 제한 요청서를 작성했다. 문장 끝에서 멈췄다. ‘즉시 격리’와 ‘감시 하 대기’ 중 하나를 골라야 했다. 전자는 맞고, 후자는 위험했다. 그런데 도현이 준 목록 없이는 세이렌의 다음 손을 잡기 어렵다. 넘겨야 할 배신자가 아직 필요한 사람이 되었다.

도경은 ‘감시 하 대기’를 선택했다. 사유란에는 길게 쓰지 않았다.

내부 유출 확인. 추가 협박망 추적 필요.

저장하자 권한 상태가 바뀌었다. 김도현은 더 이상 정비 책임자가 아니었다. 접근은 좁아졌고, 모든 세션은 기록된다. 그러나 문 밖으로 끌려 나가지는 않았다.

도경은 화면을 껐다. 검은 유리에 시스템실 조명이 작게 박혔다. 분명해진 건 하나였다. 김도현은 신념 때문에 배신한 게 아니었다. 아픈 가족을 잡힌 채 조금씩 밀려났다. 질문은 더 차가웠다. 그가 넘긴 상태값들이 이미 어디까지 바다를 열었는가.

도경은 의자에 앉지 않았다. 하리시의 응답이 오기 전까지 서 있었다. 손 안에는 아직 도현의 저장 모듈이 있었다. 버릴 수도, 믿을 수도 없는 작은 물건이었다.

← 이전목차다음 →

이 화, 어떠셨나요?

미리보기 — 댓글은 지금 이 브라우저에만 임시로 저장됩니다. 배포하면 Cloudflare에 저장됩니다.