사정의 끝
시스템실 문이 절반쯤 열리다 걸렸다. 안쪽 랙에서 경고음이 짧게 끊겼고, 도경은 어깨로 문을 밀었다. 바닥에는 케이블 타이가 잘린 채 흩어져 있었다. 구금 이송팀의 회색 조끼가 유리 밖 복도에 두 명 서 있었다.
김도현은 주 전송대 앞에 앉아 있었다. 손목에는 아직 구속 밴드가 없었다. 대신 콘솔 접근 권한이 ‘임시 감시’로 떨어져 있었다. 화면 위쪽에는 세이렌 컨소시엄 로고가 박힌 원격 잠금 알림이 떠 있었다.
“시간이 얼마 없어요.” 도경이 말했다.
“나도 알아요.”
“알면 센서망 복구부터 하세요.”
그는 고개를 들지 않았다. “통째로는 못 돌립니다. 세이렌 쪽 마스터 권한이 잠갔어요. 내가 가진 건 우회선 잔여 권한하고, 내가 남긴 더러운 길뿐입니다.”
도경은 책상 끝에 손을 얹었다. 금속이 차가웠다. “그 더러운 길 때문에 남부 물목을 못 봤습니다.”
“맞아요.”
대답이 너무 빨랐다. 변명 자리가 비어 있었다. 도경은 그 빈자리를 믿지 않으려 했다. 빠른 인정은 때로 더 좋은 방어였다.
김도현이 보안 토큰을 꺼냈다. 작은 검은 장치가 손바닥에서 미끄러졌다. “내가 한 건 세 가지입니다. 감시 드론 위치 일부를 넘겼고, 원신호 분리 로그를 외부 검토망으로 빼냈고, 남부 물목 우회선을 숨겼어요.”
“숨겼다는 말로 줄이지 마세요.”
“차단했습니다.”
도경은 토큰을 보지 않았다. 그의 입을 봤다. 어제까지도 같은 입이 느린 합의의 한계를 말했었다. 맞는 말을 한 사람이 틀린 일을 했다. 그 사실이 더 지저분했다.
“왜 지금입니까.”
“이송 전 마지막 접근입니다. 그리고 내가 먼저 제출하지 않으면, 세이렌이 나를 편한 모양으로 제출할 겁니다.”
“그게 속죄입니까, 자기보호입니까.”
김도현은 잠시 웃으려다 실패했다. “둘 다요. 속죄가 자기파괴여야 한다고는 생각 안 합니다.”
도경은 그 말을 바로 받아치지 못했다. 복도에서 이송팀 무전이 낮게 울렸다. 물목 지도는 빈 칸이 많았다. 지금 필요한 것은 그의 죄 전체가 아니라, 작동하는 조각이었다.
“방식부터 말하세요.”
그가 토큰을 콘솔에 꽂았다. “우회선의 남은 인증 조각을 열고, 감사 로그를 동결합니다. 내가 지운 흔적까지 복구 가능한 형태로요. 센서망은 돌아오지 않지만, 어디가 막혔는지 볼 수는 있습니다.”
“고래 보호에 필요한 범위만.”
“그렇게 잘라 놨습니다.”
도경은 그제야 화면을 봤다. 잠긴 격자 사이로 회색 노드 몇 개가 켜졌다. 완전한 복구와는 거리가 멀었다. 그래도 깜깜하던 물목 가장자리에 얇은 선이 생겼다.
*
김도현은 두 번째 저장소를 열었다. 파일명은 짧고 건조했다. 압박 기록. 회유 기록. 내부 지시. 도경은 자동 미리보기를 껐다. 원문을 훑으면 비밀값이 섞였을 가능성이 있었다. 대신 해시 목록과 송수신 시간, 발신 조직만 확인했다.
“세이렌 법무가 이걸 알면 가만있지 않을 겁니다.”
“이미 압니다. 모를 리가 없죠.”
“그런데 왜 지금까지 안 냈습니까.”
김도현의 손가락이 키보드 위에서 멈췄다. “내 책임이 사라질까 봐요.”
도경은 눈을 좁혔다.
그가 말을 고쳤다. “정확히는, 내가 그렇게 믿고 싶어서요. 내가 압박받았으니 어쩔 수 없었다고 말하면, 듣는 사람도 편해집니다. 나도 편하고요. 그런데 그건 거짓입니다. 선택은 내가 했어요.”
“그럼 이 기록은 뭡니까.”
“내 선택의 배경입니다. 면죄부가 아니라.”
화면에 첫 항목이 펼쳐졌다. 세이렌 내부 보안실이 연구팀 개인 단말 접근권을 요구한 문서였다. 다음은 회의 초대장, 폐쇄 채널 녹취 요약, 성과 보상 제안서, 가족 채무 자료를 언급한 짧은 메시지. 도경은 마지막 문구에서 시선을 떼었다. 가족을 들먹이는 압박은 낯설지 않았다. 그래서 더 보기 싫었다.
“당신 아버지 기록도 언급됐습니다.” 김도현이 말했다.
도경의 손이 멈췄다. “그 항목은 열지 마세요.”
“열지 않겠습니다. 별도 봉인으로 넘깁니다.”
“내가 보지 않아도 제출돼야 합니다.”
“그래서 감사관에게 직접 갑니다. 당신에게 복사본은 주지 않아요.”
그 말은 배려처럼 들리지 않았다. 오히려 권한을 빼앗기는 느낌에 가까웠다. 도경은 목 안쪽을 한번 삼키고, 짧게 고개를 끄덕였다. 지금 열면 읽게 된다. 읽으면 판단이 흐려진다. 아버지 이름이 들어간 문장은 늘 필요한 양보다 오래 남았다.
김도현은 전송 대상을 세 곳으로 나눴다. 독립 감사관. 총괄 기록실. 비상 운영위원회. 세이렌 경유 경로는 제외됐다. 전송 전 확인 창이 떠올랐다.
“나는 내통과 유출을 인정합니다.” 그가 말했다. “우회선 차단도 인정합니다. 하지만 세이렌의 불법 지시, 시스템의 권한 설계 결함, 총괄 회의가 사기업 회선에 의존한 책임까지 내 이름으로 묶지는 않을 겁니다.”
“사람들은 그렇게 묶고 싶어 할 겁니다.”
“알아요. 한 명을 버리면 표가 깔끔하니까.”
“나도 한때 그렇게 보고 싶었습니다.”
그는 도경을 봤다. “지금은요.”
도경은 바로 답하지 않았다. 존중이 용서와 같은 모양을 하지 않는다는 걸 처음 배운 사람처럼, 입술 안쪽을 살짝 물었다가 놓았다.
“당신이 전부는 아닙니다. 그렇다고 작지도 않습니다.”
김도현은 확인 버튼을 눌렀다. 전송률 막대가 올라갔다. 중간에 한 번 멈췄다가, 다시 움직였다. 완료 표시가 뜨자 그는 등받이에 기대지 않았다. 쉬어도 되는 사람처럼 굴지 않았다.
*
도경은 시스템실을 비웠다. 단독 검증 콘솔에는 김도현이 넘긴 토큰의 복제 키가 올라와 있었다. 원본은 감사관 봉투에 들어갔다. 도경에게 남은 것은 복구 가능한 인증키와 훼손되지 않은 감사 로그뿐이었다.
그 정도면 충분하다고 말할 수 없었다. 충분하지 않다고 말하고 멈출 수도 없었다.
남부 물목 격자를 열자 죽은 칸들이 회색으로 바뀌었다. 완전한 데이터가 아니라, 비어 있는 이유가 표시됐다. 세이렌 잠금. 김도현 차단. 통신 손상. 드론 배터리 부족. 오류가 이름을 얻자, 도경은 먼저 고래 이동로와 겹치는 칸만 골랐다.
검증은 작게 시작했다. 인증키 하나를 격리 샌드박스에 넣고, 읽기 권한만 요청했다. 시스템은 세 번 거절했다. 네 번째에 감사 로그 조회가 열렸다. 도경은 쓰기 권한을 요구하지 않았다. 권한을 크게 잡는 순간 세이렌 잠금 회로가 반응할 수 있었다.
그때의 우회선 기록이 깊은 폴더에서 올라왔다. 그때 김도현은 비공식 보조 경로라고 불렀다. 장애 때 현장을 살린 길. 나중에는 감시를 피한 길. 같은 선이 구제와 배신을 모두 운반했다. 도경은 파일 생성일을 확인하고, 손끝으로 날짜를 한번 눌렀다. 화면은 차갑게 반응했다.
“읽기 전용으로 고정.” 도경은 혼잣말처럼 말했다.
센서 세 개가 먼저 살아났다. 수온, 산소, 수동 음압. 영상은 없고, 표본 포트도 없었다. 도경은 표본 포트 요청을 지웠다. 고래 보호에는 지금 숫자 세 줄이 더 급했다. 남부 물목 동쪽 산소 수치가 안정권으로 보였지만, 음압 하단에 낮은 떨림이 붙어 있었다. 가스대 미세 진동과 겹치는 위치였다.
도경은 하리시에게 제한 복구 보고를 보냈다. 센서망 일부 조회 가능. 조작 불가. 보호 목적 감시만 허용. 세이렌 잠금 회로 유지. 김도현 제공 키 사용. 감사 로그 동결 완료.
전송 후에도 손은 키보드 위에 남았다. 더 열 수 있는 길이 보였다. 조작 권한을 억지로 끌어오면 부표 위치를 조금 바꿀 수 있었다. 남쪽 채취 드론을 완전히 잠글 수도 있었다. 대신 누가 명령했는지, 어떤 흔적이 남을지 알 수 없었다.
도경은 그 길을 닫았다. 구제는 통째 회복이 아니었다. 망가진 길을 다시 쓰되, 망가뜨린 방식까지 되풀이하지 않는 것이었다.
음압 그래프가 한 번 낮게 흔들렸다. 모계 7의 신호인지, 더 깊은 곳의 가스대인지 분리되지 않았다. 도경은 해류 창을 열지 않았다. 읽기 가능한 세 줄만 저장하고, 경고 범위를 좁혔다. 사람의 눈으로 확인할 수 있는 최소한. 너무 작지만, 거짓은 아닌 것.
*
저녁 이송은 조용하지 않았다. 복도 끝에서 기자들이 막혔고, 세이렌 법무팀은 별도 면담권을 요구했다. 하리시의 임시 명령이 먼저 도착했다. 김도현은 독립 감사관 구금으로 이관. 세이렌 단독 조사 불허. 시스템 권한 설계 감사 별도 개시.
도경은 유리벽 안쪽에서 그 문장을 읽었다. 김도현에게 불리한 문장과, 그를 완전히 넘겨주지 않는 문장이 같은 화면에 있었다. 책임의 모양은 그렇게 지저분했다.
그가 복도에 나왔다. 손목 밴드가 채워져 있었다. 금속은 아니었지만, 잠금등이 붉었다. 김도현은 도경 앞에서 멈췄다. 이송팀은 세 걸음 뒤에서 기다렸다.
“센서 들어왔습니까.”
“일부요.”
“남부 물목은요.”
“아직 볼 수 있습니다. 만질 수는 없습니다.”
그는 작게 숨을 내쉬었다. 안도라고 부르기엔 짧았다. “그 정도가 내가 돌려줄 수 있는 전부입니다.”
“전부라는 말은 쓰지 마세요. 아직 조사 남았습니다.”
“맞아요.”
도경은 그에게 해야 할 말을 골랐다. 고맙다는 말은 너무 작고, 용서한다는 말은 거짓이었다. 미워한다는 말도 정확하지 않았다. 도경은 그가 밤새 고친 코드와, 그 코드가 막아 버린 물목과, 아버지 기록을 언급한 세이렌 메시지를 한꺼번에 떠올렸다. 한 문장에 담기지 않는 것들은 대개 관계를 망가뜨렸다.
“당신을 빼내지는 못합니다.”
“그걸 부탁하러 온 게 아닙니다.”
“그래도 말해야 했습니다.”
김도현은 고개를 끄덕였다. “나는 희생양이 되지 않을 겁니다. 하지만 숨지도 않을 겁니다.”
그 말 뒤에 더 붙일 말은 없었다. 도경은 손을 내밀지 않았다. 그도 내밀지 않았다. 둘 사이의 빈 공간이 예의처럼 남았다.
이송팀이 그를 데려갔다. 복도 자동문이 한 번 열리고 닫혔다. 잠금음이 짧게 울렸다. 도경은 문이 닫힌 뒤에도 그쪽을 보지 않고, 손에 든 단말만 내려다봤다. 남부 물목 음압 그래프가 새로 갱신됐다. 회색이던 격자 세 칸이 옅은 녹색으로 바뀌었다.
그는 희생양이 되기를 거부했다. 그리고 자기 몫의 책임을 지고 현장에서 사라졌다. 도경이 지키려던 관계는 그 길을 따라 회복되지 않았다. 남은 것은 일부 복구된 센서망, 봉인된 압박 기록, 아직 누구의 이름으로도 끝나지 않은 세이렌의 책임이었다.
이 화, 어떠셨나요?
미리보기 — 댓글은 지금 이 브라우저에만 임시로 저장됩니다. 배포하면 Cloudflare에 저장됩니다.