27화

민우는 송주혁의 이름을 보고서 제목에서 지운 뒤에도 그를 의심했다

증거분석관은 빠진 말을 듣는다 · 2026. 10. 17.

조회수 0

민우는 송주혁의 이름을 보고서 제목에서 지운 뒤에도 그를 의심했다. 의심은 사라지는 감정이 아니라, 어떤 자료가 아직 모자라는지 알려 주는 감각에 가까웠다. 송주혁은 물류 기록을 제공하면서도 회사 계정의 원문은 막았다. 보호를 말했지만, 보호 대상이 누구인지 말하지 않았다. 범행 이익과 보호 목적이 정말 분리되는지 확인해야 했다.

오전 여덟 시, 플랫폼에서 긴급 통지가 왔다. 외부 승인 서비스가 04:03 전후의 중계 로그를 계정 정리 정책에 따라 삭제할 예정이라는 내용이었다. 회색실의 보존 요청은 걸려 있었지만, 서버 담당자는 원본보다 축약 로그만 먼저 넘기겠다고 했다.

민우는 전화를 들었다. “원본을 먼저 보존하라고 이미 요청했습니다.”

“요청은 접수됐지만, 계정 소유자의 확인이 필요합니다.”

“누가 소유자입니까?”

“물류회사 관리자 계정입니다.”

송주혁의 회사 계정이었다. 민우는 그가 확인을 거부하면 로그가 사라질 수 있다고 생각했다. 서진은 옆에서 보존 요청서의 만료 시각을 확인했고, 여름은 회사 법무를 통해 계정 소유자의 대리 확인을 요구했다.

그때 송주혁이 회의실로 들어왔다. 그는 민우가 전화를 끊지 않은 것을 보고 상황을 짐작했다.

“제가 확인하겠습니다.”

“원문을 열람하는 데 동의하는 겁니까?”

“아니요. 보존만 승인하겠습니다.”

송주혁은 플랫폼의 별도 확인 절차를 통해 로그 보존을 승인했다. 민우는 그가 회사 계정의 소유권을 사용해 증거를 살렸다는 사실을 기록했다. 동시에 송주혁은 계정 내부의 배송자 명단과 계약 파일은 열람하지 않겠다는 거부를 유지했다.

“왜 여기까지 하고, 그다음은 막습니까?”

“그다음에는 제가 보호하려는 사람을 찾을 수 있습니다.”

“당신은 범행을 숨기는 걸 수도 있습니다.”

“그 가능성도 기록하세요.”

민우는 그 말이 마음에 들지 않았다. 하지만 상대가 자신에게 불리한 가능성을 기록하라고 말할 때, 그 말을 무시하면 수사는 감정이 된다. 그는 송주혁의 거부를 정리해 보고서에 넣었다.

오전 열 시, 보존된 로그에는 두 개의 승인 계정이 나왔다. 하나는 물류창고 운영실, 다른 하나는 외부 배송관리 서비스였다. 송주혁의 계정은 첫 번째 승인 계정의 관리자로 연결됐지만, 실제 요청자는 해시로 가려져 있었다. 민우는 해시를 풀기 위해 회사 서버 전체를 압수하자고 주장했다.

서진은 반대하지 않았지만, 범위를 좁힌 압수 목록을 만들었다. 04:00부터 04:06까지의 승인 요청, 테스트폰의 접근 기록, 냉장 구역 전력 로그. 민우는 회사 계정 전체가 필요하다고 말했다.

“전체를 가져오면 빠릅니다.”

“빠른 대신 관련 없는 사람까지 들어옵니다.”

민우는 그녀를 보았다. 예전 같으면 현장 권한으로 밀어붙였을 것이다. 그러나 그는 송주혁의 이름을 굵게 썼다가 지운 자신의 보고서를 기억했다. 그는 압수 목록에 필요한 항목과 확대 조건을 나눠 적었다.

“좋습니다. 이 목록으로 먼저 보존하고, 중계 계정이 이 범위 밖으로 이어지면 확대하죠.”

서진이 그를 보았다. 민우는 그녀의 승인을 기다리지 않고 외부 검토자에게 목록을 보냈다. 관계는 믿음이 아니라, 서로의 확인을 기다리는 습관으로 바뀌고 있었다.

오후 두 시, 송주혁은 예상과 다른 행동을 했다. 그는 회색실에 물류창고의 비공식 근무표를 건네지 않고, 보호기관에 먼저 보냈다. 근무표에는 아딜의 신원을 추정할 수 있는 시간과 지급 방식이 있었지만, 동시에 테스트폰을 사용한 사람의 교대 정보도 들어 있었다.

민우는 그 자료를 바로 받으려 했다. 송주혁은 손을 거두었다.

“보호기관이 먼저 분리합니다.”

“그 사이 테스트폰 접근자를 놓칠 수 있습니다.”

“그 위험을 감수하겠습니다.”

“수사를 방해하는 겁니까?”

송주혁은 조용히 말했다. “아닙니다. 제 목적이 수사팀의 목적과 같지 않다는 걸 확인하는 겁니다.”

민우는 그 말에 화가 났다. 그는 사건을 해결하려 했고, 송주혁은 사람 하나를 보호하려 했다. 둘 다 정당해 보였지만, 어느 쪽이 우선인지 정해져 있지 않았다.

서진이 개입했다. “그 자료에서 사람 정보를 가리고 장비·시간 정보만 먼저 받을 수 있습니까?”

송주혁은 보호기관에 확인한 뒤 동의했다. 한 시간 뒤 회색실로 온 자료에는 교대 시간, 냉장 구역 전력 변화, 테스트폰 사용 시각이 남았다. 사람 이름과 지급 계좌는 빠졌다. 민우는 이 자료로도 동선의 일부를 확인할 수 있다는 것을 인정했다.

그러나 같은 자료에서 운영실 테스트폰의 두 번째 사용 시각은 사라졌다. 보호 대상과 연결될 수 있다는 이유였다. 민우는 그 빈칸을 보고 압수 목록을 확대하자고 했다. 송주혁은 즉시 거부권을 행사했다.

“그 빈칸에 접근하면 누군가를 특정할 수 있습니다.”

“그 누군가가 범인일 수 있습니다.”

“가능성만으로 신원을 열 수는 없습니다.”

민우는 손가락으로 테이블을 두드렸다. 그는 송주혁을 압박하면 자료를 전부 닫을 수 있다는 것을 알고 있었다. 그러나 그대로 두면 범인이 보호 대상의 침묵을 이용해 책임을 넘길 수도 있었다.

여름은 두 사람의 말을 모두 기록했다. 접근 확대 조건을 만드는 것이 필요했다. 단순히 ‘범인일 가능성’이 아니라, 숨겨진 시각이 물리 기록과 연결될 때만 확대하는 조건. 테스트폰 접근 시각과 차량 도어, 냉장 전력, 토큰 발급 중 둘 이상이 겹치면 보호기관과 함께 재검토하는 규칙을 만들었다.

송주혁은 그 조건에는 동의했다. 그는 자신의 목적을 위해 자료 하나를 닫았지만, 물리 기록을 통해 같은 질문에 도달할 길을 남겼다.

민우는 밤에 송주혁의 진술과 행동을 비교했다. 그는 빈집 앞까지 갔다고 인정했지만, 사진을 찍지 않았다고 했다. 차량 도어 기록은 그가 차를 떠난 것을 보여 주었고, 테스트폰 접근 기록은 다른 사람의 시간과 겹쳤다. 송주혁의 거짓말 목적은 보호에 가까워졌지만, 그가 약품을 옮기지 않았다는 결론은 아직 나오지 않았다.

그는 송주혁의 이름 옆에 세 줄을 적었다. 보호 목적 확인, 배송 대행 인정, 사진·토큰 생성 불확정. 세 줄은 서로 다른 방향을 가리켰다.

서진이 말했다. “사람의 수상함과 물리 가능성을 분리하면 표가 복잡해집니다.”

“복잡한 게 맞습니다.” 민우가 답했다. “예전에는 한 사람에게 다 넣고 빨리 끝내려 했습니다.”

그는 자신의 말이 과거를 향한다는 것을 알아차렸다. 빠른 체포가 피해자의 삶을 더 망가뜨렸던 사건이 있었다. 그는 그때의 자료를 설명하지 않고, 경험으로만 밀어붙였다. 이번에는 경험을 근거가 아니라 경고로 남기기로 했다.

밤 열한 시, 외부 배송관리 서비스에서 보존 로그의 첫 원본이 도착했다. 승인 계정의 한 갈래가 송주혁의 회사가 아니라, 별도 정리 서비스로 이어졌다. 서비스는 배송 완료 사진과 취소 토큰을 함께 처리했지만, 사람이 입력한 시간은 표시하지 않았다.

송주혁은 그 사실을 보고도 자신의 계정 전체를 열지 않았다. 대신 그 서비스와 회사가 언제부터 계약했는지 계약일과 권한표만 제공했다. 계약에는 사건 한 달 전부터 ‘배송 완료 오류 정리’라는 항목이 추가되어 있었다.

민우는 계약일을 사건표에 붙였다. 범행 동기는 아니었지만, 외부 서비스가 사건 이전부터 회사의 배송 기록을 다뤘다는 사실은 새로운 접근 경로였다.

송주혁은 마지막으로 말했다. “이 계약을 보면 제가 숨긴 이유와 별개로, 누군가 기록을 지우는 방법을 알고 있었다는 걸 알게 될 겁니다.”

민우는 그 말을 기록했다. 송주혁은 수사팀과 다른 목적을 가졌지만, 그 목적이 사건의 외부 경계를 드러내고 있었다. 보호를 위해 닫은 자료와, 범행을 좁히는 자료가 같은 사람의 손에서 갈라지고 있었다. 민우는 새벽까지 계약 권한표를 들여다봤다. 외부 정리 서비스는 배송 완료 오류를 고치는 권한을 가졌지만, 사진 원본을 다시 만들 권한은 없었다. 그러나 승인 경로에는 ‘재발급’이라는 항목이 있었고, 정상 토큰이 끊기면 새 토큰을 만들 수 있었다.

서진은 그 항목을 읽고 말했다. “사진과 토큰을 같은 사람이 만들었다는 뜻은 아닙니다.”

“하지만 같은 서비스가 둘을 연결할 수 있다는 뜻입니다.”

“그 연결이 실제 사건에 쓰였는지는 별도 로그가 필요합니다.”

민우는 계약서의 권한과 사건 로그를 나란히 놓았다. 권한은 가능성을 보여 주고, 로그는 사용을 보여 준다. 그 차이를 지키는 일이 이번 사건에서 자신이 할 일이었다.

송주혁은 다음 날 보호기관에서 분리한 근무표를 돌려받았다. 그는 회색실에 사람 정보가 빠진 사본만 제출했다. 민우는 그 사본으로도 냉장 구역 전력 변화와 테스트폰 사용 시각이 겹치는 것을 확인했다. 숨겨진 이름 없이도 물리 동선은 조금씩 좁혀졌다.

“아딜이 직접 말하지 않아도 여기까지 올 수 있군요.” 송주혁이 말했다.

“여기까지가 전부는 아닙니다.”

“전부가 아니어도 그 사람을 찾으려 하지는 마십시오.”

민우는 그 약속을 문서로 남겼다. 그가 송주혁을 믿어서가 아니라, 접근 범위를 지키지 않으면 다음 자료가 모두 닫힐 수 있기 때문이었다.

오후 늦게 외부 정리 서비스가 계약 권한의 일부를 회수하려 했다. 회사가 요청한 조치라는 안내가 왔고, 승인 계정의 원본 조회가 막힐 수 있었다. 민우는 즉시 보존 명령을 갱신했고, 서진은 회수된 권한 목록을 별도 저장했다. 누군가 자료를 없애려는 것인지, 단순한 계약 정리인지 아직 판단하지 않았다.

그날 회의록의 마지막에는 민우가 직접 적었다. ‘송주혁의 독자 목적은 범행 이익과 분리되지만, 보호를 위한 거짓말이 수사 비용을 만들었다. 그 비용을 줄이기 위해 물리 자료와 사람 정보의 접근권을 따로 관리한다.’ 민우는 표의 빈칸을 지우지 않았다. 빈칸이 남아 있어야 다음 사람이 같은 질문을 반복하지 않고, 무엇이 확인되지 않았는지 알 수 있었다. 송주혁의 거부는 그 빈칸을 만든 동시에, 다른 자료를 살려 두었다.

이번 화가 재미있었나요?

좋아요와 평점은 언제든 변경할 수 있습니다.

독자 평점 아직 없음

댓글

댓글을 작성하려면 로그인해 주세요.