2월 25일 목요일 오전 아홉 시 사십 분.
해무소프트의 회의실 창에는 아직 겨울의 차가운 빛이 걸려 있었다. 벽면 모니터에는 검은 원장의 화면이 나타나 있었다. 강민석은 자기 휴대전화가 아닌 다른 컴퓨터에서 같은 화면을 보는 것이 기분 나빴다. 늘 자기만 볼 수 있는 비밀이라 여겼던 것이 누군가의 개발 화면에는 평범한 창 하나로 놓여 있었다.
이번 자리는 외주 운영사와 보관업체, 관련 기관 담당자들이 각자의 관리 범위에 대해 설명하는 기술 사실 확인 회의였다. 세린은 사전에 보존 요청한 로그의 범위와 제공할 수 없는 개인자료를 구분했다. 김예린과 최유나는 확인인으로 참석했다. 임도훈은 회사 측 담당자와 함께 앉아 있었다.
“먼저 화면의 구조를 설명하겠습니다.” 해무소프트 운영 책임자 윤태경이 말했다. “검은 원장이라고 부르는 인터페이스는 공식 은행 서비스가 아닙니다. 예정 거래를 보여 주는 사고 재현용 뷰입니다.”
민석의 등줄기가 차가워졌다. 그는 그 화면을 보고 돈을 움직였고, 누구에게도 말하지 못한 밤을 보냈다. 그런데 다른 사람에게 그것은 ‘뷰’라는 한 글자짜리 업무 용어였다.
“그럼 왜 은행 앱에서 봤죠?”
“제휴 페이지의 시험 링크가 남아 있었고, 특정 계정에 한해 인증 후 나타나도록 구성돼 있었습니다. 정식 제공 기능은 아니었습니다. 이 노출은 잘못됐습니다.”
윤태경은 시험 배포 로그를 보여 줬다. 링크는 2026년 11월 말 민석의 번호로 발송됐고, 그 후 다른 사용자에게 전달된 내역은 확인되지 않았다. 접속자의 계좌에서 금융정보 전체를 읽는 구조는 아니었지만, 예정 거래를 추정할 수 있는 내부 자료에 접근한 것은 중대한 문제였다.
최유나가 물었다. “2027년 2월 20일 아홉 시 십칠 분, 414건 취소 완료 표시가 생성된 과정은요?”
윤태경이 화면을 확대했다.
[배치명: B414-RECON]
[환경: 시나리오 검증]
[처리 결과: COMPLETED]
[실거래 반영: FALSE]
민석은 마지막 줄을 읽었다. 외부 실거래에는 반영되지 않았다. 그런데 자신의 화면에는 그 줄이 빠져 있었다.
“왜 안 보여 줬습니까?”
“사용자 표시 템플릿에서 환경 설명이 빠졌습니다. 정당화할 수 없습니다.”
“실수였다고만 할 거예요?”
태경은 아무 말도 하지 않았다. 이번에는 임도훈이 입을 열었다.
“표시 템플릿을 간단히 하자는 제 의견이 있었습니다. 고객용으로 나가는 화면은 아니라고 들었기 때문에 위험을 작게 봤습니다.”
세린은 바로 물었다. “그 변경 의견과 승인 자료를 보존해 제출할 수 있습니까?”
“네.”
“그게 전부는 아닙니다.” 예린이 말했다. “가짜 완료 표시가 사용자 판단을 바꾸도록 설계됐는지, 단순히 경고를 표시했는지도 확인해야 합니다.”
그들이 비교한 기록에는 버튼을 노출하기로 한 결정, 버튼을 누르더라도 은행의 실거래 취소 승인과는 연결하지 않기로 한 결정, 그리고 외부 검토자의 서명이 없는 테스트 계획서가 각각 남아 있었다. 설계 문서만으로 고의적인 기만을 단정할 수는 없었지만, 사용자가 오해할 위험을 알고 있었는지는 검증할 수 있었다.
오전 열한 시 반, 또 하나의 로그가 공개됐다.
[2027.02.19 23:59 / 경고 문구 노출 변경]
[요청자: 도담 운영팀]
[변경 사유: 동의 실패 상황 재현]
“그러니까 제가 잠든 밤에, 누군가 내일 414명이 망할 것처럼 보이게 했다는 거군요.” 민석의 목소리가 낮아졌다.
임도훈이 의자에서 몸을 곧게 세웠다. “그런 결과가 나올 줄 몰랐습니다.”
“그 문장도 십 년 전처럼 들리네요.”
민석은 말을 끝내고 싶었지만 그러지 않았다. 분노를 소리로 터뜨리면 중요한 질문 하나를 놓칠 것 같았다.
“제 계정은 언제 종료할 수 있습니까? 그리고 그 전에 어떤 자료를 남길 겁니까?”
태경은 보존 의무와 관련 기관의 요청을 이행한 다음 접근을 차단할 수 있다고 설명했다. 원본을 마음대로 삭제해서는 안 됐다. ‘삭제’와 ‘보존 후 접근 중단’은 달랐다. 민석은 그제야 자기가 원하는 것이 무엇인지 알았다. 과거를 없애는 게 아니라, 잘못된 규칙이 내일도 다른 사람을 다루지 못하게 하는 것.
오후 한 시, 회의실을 나서자 서윤이 물었다.
“화내지 않을 줄은 몰랐어요.”
“화내는 건 나중에도 할 수 있잖아요.” 민석이 말했다. “지금은 누가 어디에 손댔는지 잊지 않으려고요.”
서윤은 작게 웃었다. “그 말은 기사에 써도 돼요?”
“제 이름은 빼 주세요. 아직 부끄러운 게 많으니까.”
“그건 본인이 선택하세요.”
저녁, 세린에게 세 건의 공식 답변이 도착했다. 414건의 실제 일괄 취소는 실행되지 않았으며, 외부 확인이 필요한 일부 건의 상태는 여전히 조사 중이라는 내용이었다. 사건은 끝나지 않았다. 그러나 거짓으로 뜬 ‘완료’라는 한 글자가 사람들의 현실을 곧바로 바꿔 버리는 통로는 일단 차단됐다.
그날 밤 검은 원장은 조용했다. 화면에는 단 한 줄이 남았다.
[시나리오 계정 권한 종료 대기]
민석은 처음으로 그 문장을 보고 웃을 수 있었다.
제197화 댓글 0
댓글·공감·신고는 로그인 후 이용할 수 있습니다. 이전 익명 댓글은 그대로 표시됩니다.
댓글을 불러오는 중입니다.