우리는 밤새 만든 임시 안내문을 책상 위에 펼쳐 놓았다. 사람을 속이기 위해 만들어진 복잡한 장치를 이해시키려면 어려운 단어부터 없애야 했다. 유나가 빨간 펜으로 세 문장에 줄을 그었다. "당사자의 허락 없는 대리 출근은 확정하지 않는다." "이미 남은 기록을 삭제하지 않는다." "이상이 생기면 사람에게 연락한다." 그 세 문장만큼은 누구라도 읽을 수 있었다.
동의를 듣기 전에 승인하는 시스템이 있다면, 그건 동의를 받는 시스템이 아니다.
한정호라는 식별키가 누군가의 요청에 17초 먼저 서명했다는 사실을 보자마자 그렇게 생각했다. 사람은 미래의 질문에 동의할 수 없었다. 예외가 있다면 시간을 멈추는 나 정도겠지만, 내게도 아직 듣지 않은 질문에 대답할 재주는 없었다.
"그 서명은 무효라고 말할 수 있습니까?" 내가 남기혁 형사에게 물었다.
"절차의 정당성을 다툴 근거는 됩니다. 법적 판단은 별개지만요. 기술적으로는 이 사람이 실제로 승인했다는 증거가 아니라, 그의 키가 사용됐다는 증거입니다."
강문석은 시간 정보를 세 개로 나누어 보여 주었다. 요청이 생성된 시각, 인증 서버가 서명한 시각, 한정호의 목소리가 응답한 시각. 첫 두 사건은 구태형의 운영 장비에만 남아 있었고, 마지막 사건은 독립된 기록 장치에도 남아 있었다.
"우리가 할 수 있는 건 이 순서를 보존하는 겁니다." 그는 말했다. "차도겸 씨가 보기 싫다고 인증 로그를 지우면, 누가 어떻게 조작했는지 더 확인하기 어려워집니다."
"저도 이제 삭제 버튼을 함부로 누르진 않습니다."
이 말을 하고 나니 문득 업무용 메신저가 떠올랐다. 한때는 나한테 온 회의 요청을 전부 삭제하고 싶었다. 이제는 삭제 버튼이 거의 공포의 상징이 됐다. 사람이 바뀌긴 바뀌는 모양이었다.
우리는 출근망에 연결된 피해 업체들 가운데 자발적으로 시험에 참여하겠다고 밝힌 한 곳을 찾았다. 부산의 권수진이 근무자 대표와 관리자에게 동의를 받아 주었다. 시험의 목표는 사람의 근무 기록을 새로 만드는 게 아니라, 아직 확인되지 않은 대리 출근이나 대리 귀가 기록이 확정되지 않도록 임시 보류하는 것이었다.
시우의 회사는 자신이 관리하는 접속 장비에 한정해 새 자동 승인 토큰을 받지 않는 설정을 적용했다. 기존 기록은 삭제하지 않았고, 현장에서는 별도의 수기 근무표를 병행했다. 사고가 나면 바로 원상 복구할 담당자도 지정했다.
시작한 지 십 분 만에 직원 한 사람이 전화했다.
"어제랑 오늘 근무가 두 번 뜨던 게 그대로 보이는데요?"
"네. 그건 아직 남아 있어야 합니다." 내가 답했다. "지금은 새로 잘못된 대리 근무가 생기지 않도록 막는 시험입니다. 기존 기록의 정정은 별도로 확인해야 해요."
"아. 오류를 없앤 게 아니라 더 늘지 않게 한 거군요."
"맞습니다."
그 직원은 잠시 생각하다가 말했다. "그게 더 중요한 걸 수도 있겠네요. 매일 새로 꼬였거든요."
나는 전화를 끊고 오랫동안 책상을 바라봤다. 대단한 승리가 아니었다. 단 한 사업장에서 새 이상 기록이 생기지 않았다. 그러나 그곳에 있는 사람들은 오늘의 퇴근이 내일의 새 근무로 바뀌지 않을 거라는 가능성을 처음으로 얻었다.
오전 일곱 시, 영병원 9번 계단실에서는 이상한 변화가 나타났다. 발소리가 사라졌다. 한정호 계정은 여전히 관리자 복구 상태였는데, 화면 속 인원은 2에서 1로 돌아왔다. 누가 사라졌는지 알 수 없었다. 애초에 두 명이 있었는지도 확인되지 않았다.
"지금부터는 이 화면만 계속 보면 안 돼." 유나가 말했다. "자꾸 숫자를 사람처럼 보기 시작해."
그 말이 맞았다. 나는 4,183이라는 숫자를 볼 때마다 머릿속에 얼굴 없는 사람들이 길게 늘어서 있는 모습을 떠올렸다. 하지만 그건 기록 4,183건이지 아직 4,183명으로 확인된 게 아니었다. 누군가는 네 줄로 나뉘었고, 누군가의 귀가를 돕는 동행 요청이 한 줄로 적혔다. 숫자를 구조 대상으로 삼는 순간 실제 사람을 놓칠 수 있었다.
시범 운영 중에는 작은 실패도 있었다. 단말기가 새 자동 승인을 막으면서, 기존의 정상 근무자가 새벽 교대를 입력할 때 잠깐 지연이 생긴 것이다. 문제가 감지되자 현장 담당자는 미리 정한 수기 절차로 기록했고, 시우는 오류를 재현하는 데 동의를 얻었다.
"우리 쪽에서 막은 게 정당한 근무까지 방해하면 안 됩니다." 시우가 말했다.
"안전한 프로그램은 잘못된 것만 막는 게 아니라 정상적인 일을 하던 사람을 못 움직이게 하지 않아야 하죠." 내가 답했다.
우리는 자동 승인과 본인 확인 후 수동 등록을 분리했다. 테스트 계정으로 검증한 뒤 실제 장치에 적용할 수 있는 범위를 다시 확인했다. 임시 절차는 예외 상황에 대비해 문서화했다. 현장 직원이 복잡한 기술 용어를 외우지 않아도 담당자에게 연락할 수 있도록 번호 하나만 크게 적었다.
그 일이 끝난 뒤 한시우가 의자에 기대며 말했다. "이상하네요. 몇 달 동안 사람을 구하겠다고 쫓아다녔는데, 오늘 가장 힘들었던 일은 평범한 교대 기록이 정상인지 확인하는 거였어요."
"그게 원래 개발이에요." 내가 말했다. "한 사람의 눈에 멋진 기능보다 모두에게 필요한 평범한 기능이 훨씬 어렵죠."
유나는 시우가 만든 오류 대응 안내문을 읽었다. '자동 승인 중단 중. 실제 근무는 현장 담당자에게 확인 바랍니다.' 그녀는 마지막 문장을 고쳤다. '근무자가 직접 말한 내용과 현장 확인 기록을 함께 남깁니다.' 누군가의 입으로 말한 사실이 화면의 보조 자료가 되어 버리지 않도록.
그날 밤을 지새운 직원에게서 짧은 회신이 왔다. '전에는 오류가 나면 제가 뭘 잘못한 줄 알았어요. 이번엔 설명해 줘서 좋았습니다.'
그 문장을 보고 나는 오래전에 만들었던 안내창들을 떠올렸다. '처리할 수 없습니다', '예기치 않은 오류', '관리자에게 문의'. 사용자는 무엇이 일어났는지, 자신의 일에 어떤 영향이 있는지 전혀 알 수 없었다. 이번에는 적어도 그런 화면을 만들지 않겠다고 다짐했다.
그날 점심, 어머니와 약속했던 밥을 먹었다. 작은 식당의 된장찌개가 끓고 있었다. 어머니는 밥을 반 공기만 드셨다. 나는 아버지 이야기를 할지 망설였다. 잃어버린 기억을 억지로 되살리게 하고 싶지 않았기 때문이다.
"아버지가 어떤 사람이었는지 궁금해?" 어머니가 먼저 물으셨다.
"네. 매일 궁금해요."
"당신 아버지는 물건을 고치다 말고 자꾸 사람한테 밥을 먹였어. 일을 끝내야 집에 가는 게 아니라, 밥을 먹어야 일을 끝낼 수 있다고 했지."
나는 숟가락을 내려놓았다.
"그래서 나한테도 밥 먹으라고 하세요?"
"그랬나?" 어머니가 웃었다. "나도 자꾸 잊어버려. 그래도 배고픈 사람은 잊으면 안 되잖아."
그 말이 오래 마음에 남았다. 내가 기억하지 못하는 아버지가 남긴 습관이, 나를 자꾸 밥상으로 데려오고 있었다. 기억을 잃었다고 모든 관계가 지워지는 건 아니었다. 손끝에 남은 생활이 사람을 다시 이어 주기도 했다.
식사를 마치고 돌아오는 길에 어머니는 길가 꽃집 앞에서 걸음을 멈췄다. 작은 화분에 노란 꽃이 피어 있었다. 어머니는 꽃 이름을 떠올리지 못하셨다. 꽃집 주인이 이름을 알려 드리자 그분은 고맙다고 하고 화분을 샀다.
"기억 안 나도 예쁘다는 건 알겠네." 어머니가 말했다.
나는 그 말을 듣고 한동안 화분을 바라봤다. 우리가 잃은 기억은 되돌릴 수 없는 것들도 있을 것이다. 그래도 오늘 꽃이 예쁘다고 느끼는 마음까지 누군가에게서 허락받을 필요는 없었다.
어머니는 화분을 내게 건네며 말했다. "집에 가져가. 네가 기억 못 하면 내가 물 줄 때 알려 줄게."
"엄마 집에서 키우면 안 돼요?"
"우리 둘 다 하나씩 키우면 좋겠는데?"
우리는 작은 화분을 하나 더 골랐다. 계산대에서 어머니는 영수증을 접어 지갑에 넣었다. '언제 샀는지 또 잊을지도 몰라'라고 웃으셨다. 나는 그 순간을 사진으로 찍어도 괜찮겠느냐고 물었다. 어머니가 고개를 끄덕여서 사진을 남겼다. 부탁하지 않은 기록까지 전부 모으는 일은 하지 않기로 했다.
집 앞에서 어머니가 물었다. "오늘 몇 시에 돌아오니?"
"아직 모르겠어요. 알게 되면 연락드릴게요."
"그래. 그러면 나도 내가 하고 싶은 일 하면서 기다릴게."
나는 차에 타기 전 손을 흔들었다. 지금까지 수없이 들었던 말이었지만, 이번에는 그 말이 시간을 빼앗기지 않는 방법처럼 느껴졌다.
오후에는 시범 사업장의 첫 보고가 왔다. 새 대리 출근 건수 0, 원본 훼손 0. 다만 기존에 잘못 생성된 근무표 6건은 미확인 상태였다. 우리는 숫자를 크게 광고하지 않았다. 하루 동안 한 장치에서만 확인된 결과라는 사실을 강조했다.
서아가 서명 요청서를 보며 말했다. "이제 한정호 키가 자동으로 행사하는 권한을 줄일 근거가 생겼어. 사람이 직접 동의하지 않아도 되는 절차가 위험하다는 걸 보여 줬으니까."
"그 권한을 누가 회수할 수 있죠?" 내가 물었다.
"장비 소유자의 권한 범위에서만 당장 회수할 수 있어요. 중앙 운영망 전체는 외부 기관과의 협조가 필요하고요."
기혁 형사는 증거 보존 상태를 확인하고 관계 기관에 협조 요청을 보냈다. 모든 절차가 오래 걸렸다. 그러나 빨리 끝냈다는 이유로 또 다른 피해자를 만들 순 없었다.
저녁 여섯 시. 내 손목시계가 조용히 움직였다. 오늘은 시간이 멈추지 않은 듯했다. 적어도 회사 앞 버스는 계속 달렸다. 나는 잠깐 기대했다. 마침내 정상으로 돌아온 걸까.
그 순간 9번 계단실 화면에 메시지가 나타났다.
[본 관측은 시간 정지 대신 시간 차용으로 전환되었습니다.]
[차용 대상: 미귀가 증빙을 제출한 사람]
"이건 또 무슨 소리야?"
시우가 얼굴을 굳혔다. "새 승인 차단이 작동하는 동안 중앙 운영망이 다른 방식으로 책임을 배당하려는 것 같아요."
"그럼 우리가 막은 게 오히려 다른 피해를 만든 겁니까?"
"아직 실제 차용이 발생했다는 증거는 없어요. 다만 이런 기능이 준비돼 있다는 걸 알게 된 거죠."
나는 화면에 표시된 차용 대상을 다시 읽었다. 미귀가를 증명하려고 자료를 제출한 사람들. 가장 적극적으로 자신의 하루를 지킨 사람들이 다음 피해 후보가 되어 있었다.
그 이름 없는 명단 맨 앞에 최은규의 사번이 나타났다.
제78화 댓글 0
댓글·공감·신고는 로그인 후 이용할 수 있습니다. 이전 익명 댓글은 그대로 표시됩니다.
댓글을 불러오는 중입니다.