조하은은 평소보다 이른 시간에 회사 건물에 도착했다. 복도에는 아직 청소기가 지나가는 소리만 들렸다. 감사팀 회의실에서 기다리던 외부 조사위원 두 명이 먼저 고개를 숙였다.
“개별 고객 정보는 익명화한 상태로 검토하겠습니다. 오늘은 누가 어떤 권한으로 시험 기능을 실거래에 연결했는지만 확인하죠.”
하은은 노트북을 열었다. 중계 서비스의 변경 이력을 통째로 가져온 것은 아니었다. 내부 승인으로 제공된 설정 변경 요청서와 감사 로그 사본이었다. 원본은 별도 저장소에 봉인돼 있었다.
[2026년 10월 30일 18:11]
[기능: 수취인 정보 미입력 시 대체값 표시]
[요청 계정: B-RETURN 운영지원]
[검토 결과: 조건부 반려]
다음 줄은 일주일 뒤였다.
[2026년 11월 6일 22:04]
[동일 기능: 시험 환경 재적용]
[연결 대상: 대조 조회 화면]
[추가 승인 기록: 누락]
세린이 종이를 짚었다.
“조건부 반려됐는데 다시 적용된 겁니까?”
“그렇습니다. 다만 당시 기술 담당자가 실거래에 영향을 주지 않는 조회 화면이라고 판단한 기록이 있어요.”
황기태가 설명을 보탰다. 조회 화면에서만 보이는 값이라도 그 조회 결과를 다른 시스템이 믿고 거래에 사용하면 실제 영향이 생길 수 있었다. 그는 도표에 가느다란 화살표를 그렸다. '시험값 출력'에서 '검증 완료 문구', 그리고 '투자 실사 자료'까지 이어지는 세 단계였다.
“여기가 문제예요. 시험에서는 임시 이름이 들어가도 되지만, 실제로는 임시라는 표시가 끝까지 따라가야 합니다. 중간에서 그 표시가 사라졌습니다.”
준성이 도표를 보고 입을 벌렸다.
“가짜 이름에 도장만 찍으면 진짜가 되는 구조네.”
“도장이 찍혔다고 진짜가 되는 건 아니죠.” 서윤이 말했다. “그런데 도장 찍힌 종이를 믿고 거래하는 사람은 생길 수 있어요.”
회의에 참석한 기술 검토자는 하나의 위험을 더 지적했다. 과거의 조회 화면은 외부로 값을 보내기 전에 원본 상태를 확인하도록 설계돼 있었지만, 새 중계 서비스는 캐시된 값을 그대로 전달할 수 있었다. 확인이 미완료된 사실이 나중에는 ‘전 단계에서 이미 검증함’이라는 표시로 바뀌는 구조였다.
“저장된 값이 틀릴 수 있다는 건 알면서도 속도를 높였습니까?” 민석이 물었다.
기술 검토자는 고개를 끄덕였다.
“응답 속도를 높이라는 요청이 있었습니다. 하지만 위험 보고서에는 원본 확인이 없는 경우 최종 결과로 쓰지 말라고 명시했어요. 그 경고가 전달됐는지 확인해야 합니다.”
기태는 회의 참석자들의 발언을 요약한 종이에 도장부터 찍지 말아 달라고 요청했다. 서로가 실제로 말한 표현을 대조한 뒤 확정하자는 뜻이었다. 조금 전까지 거액의 금융상품을 다루던 회의에서, 사람들은 자기 문장 하나를 확인하는 데 몇 분이나 썼다.
민석은 그 시간이 조금도 아깝지 않았다. 바로 이런 느린 확인이 없어서 십 년짜리 오해가 시작됐을지도 몰랐다.
하은은 실거래로 이어진 데이터 흐름에 대해 외부 전문기관의 점검을 요청했다. 시스템을 무작정 끄면 실제 지급 확인을 기다리는 사람까지 영향을 받을 수 있어, 위험 기능과 정상적인 조회를 분리하는 임시 조치를 함께 검토했다.
오전 열한 시, 정태겸이 내부 검토에 참석했다. 이전과 달리 그에게는 발표 자료가 없었다. 하은이 첫 번째 질문을 했다.
“조건부 반려된 기능을 운영 검증에 다시 올리도록 지시하셨습니까?”
“검증 일정을 앞당기라는 지시는 했습니다. 어떤 코드가 연결됐는지는 개발사와 계약 부서가 확인해야 합니다.”
“기술팀이 위험을 보고한 사실은 언제 아셨습니까?”
“사후 보고를 받았습니다.”
“그 후에도 상품 평가 자료에 '보관인 확인 완료'라는 문구가 남아 있던 이유는 무엇입니까?”
태겸의 턱이 굳었다. 잠시 후 그가 답했다.
“수정해야 한다는 건 인정합니다.”
민석은 그 말에 승리감을 느끼지 않았다. '수정한다'는 말이 '피해를 바로잡는다'는 뜻은 아니기 때문이었다. 서윤은 조사위원의 허락을 받아 기록에서 확인된 내용만 받아 적었다.
오후에는 실제 위험이 드러났다. 한 투자 중개사의 내부 실사표가 익일금융 조회 결과를 가져다 쓴 사실이 확인됐다. 중개사는 원본 계약의 진위를 따로 대조하지 않았고, 시험 대체값이 실제 확인자라는 안내를 받았다고 주장했다. 돈이 얼마나 거래됐는지는 아직 조사 중이었다.
“그러니까 그 표를 믿은 사람이 이미 있다는 거네요.” 민석이 말했다.
“믿은 사람이 있다는 건 확인됐습니다.” 하은이 말했다. “그 표 때문에 실제 자금이 이동했는지는 아직 판단할 수 없습니다.”
기태가 고개를 끄덕였다. 그 구분이 없으면 실사를 바로잡기보다 새 소문을 만드는 사람이 될 수 있었다.
저녁, 윤혜라가 보관기관에서 확인한 사실을 전해 왔다. 2016년 종료 당시 원본 대조 요청서에는 정식 보관 권한을 특정인에게 주지 않겠다는 지시가 적혀 있었다. 승인자 이름은 당시 운영위원회였고, 민석은 해당 결정을 전달한 직원이었다.
“그럼 2036년 강민석의 서명은요?”
“그건 원본에 없었습니다. 대여 시스템에서 생성된 계정 이름일 수 있어요.”
민석은 어깨에 힘이 빠지는 것을 느꼈다. 자신이 십 년 뒤에 무슨 선택을 했는지 몰라 불안했던 시간이 떠올랐다. 모르는 미래보다 더 무서웠던 것은 누군가 그의 이름으로 이미 미래를 계약했다는 사실이었다.
그때 하은에게 새 문서가 도착했다. 시험 파일의 대체 규칙을 만든 내부 보고서였다. 규칙의 이름은 'MINS-36'. 작성자의 실명란은 비어 있었다. 대신 결재 부서 옆에 낯익은 서명이 있었다.
'초기 검토 의견: 박준성.'
민석은 종이를 덮었다.
“준성아.”
오래 함께 웃었던 친구가 고개를 들었다.
“너, 이 서류를 본 적 있니?”
제76화 댓글 0
댓글·공감·신고는 로그인 후 이용할 수 있습니다. 이전 익명 댓글은 그대로 표시됩니다.
댓글을 불러오는 중입니다.