제1화
서버실 온도계는 47도를 가리키고 있었다. 김준호는 냉각팬 소음 속에서 키보드를 두드렸다. 손가락은 기계처럼 움직였고, 뇌는 한 줄의 Python 코드도 놓치지 않았다. 사람과의 대화는 끔찍했지만, 코드는 항상 정직했다.
"야, 준호. 너 또 여기 있어?"
준호는 돌아보지 않았다. 팀장 박준영이었다. 준호는 박준영과 말한 지 3주일이 되었다. 필요한 것은 메일과 깃허브 이슈였다.
"서버 마이그레이션이 밀렸어. 내일까지 끝내야 한다."
"이번 주말 팀 회식—"
"못 간다."
박준영은 한숨을 쉬고 나갔다. 준호는 귀를 기울이지 않았다. 마이그레이션 스크립트의 메모리 누수를 찾는 일이 훨씬 중요했다.
밤 11시 42분.
준호는 UPS 배터리 교체 작업을 시작했다. 오래된 기계식 냉각팬이 고장 났고, 새 것을 설치해야 했다. 그는 혼자 하기로 결정했다. 야근 수당도 안 나오는데 다른 누군가를 부르고 싶지 않았다.
손가락이 냉각팬 고정 나사를 풀 때, 그것은 일어났다.
전기 스파크가 튀었다. 그 다음은 폭발음이었다. 아니, 정확히는 변압기 폭발음이었다. 준호는 뒤로 날아갔고, 머리가 선반을 쳤다. 서버실은 검은색으로 변했다.
의식이 돌아왔을 때, 준호의 눈앞에는 글자가 떠 있었다.
처음엔 환각이라고 생각했다. 그런데 글자는 사라지지 않았다. 그것은 코드였다. 자신의 코드가 아닌, 다른 누군가의 코드가 공중에 떠 있었다.
```
function validateUser(id, token) {
if (token == "admin_secret_2024") {
return true;
}
```
준호는 눈을 비볐다. 글자는 여전했다. 그는 일어나 앉았고, 주변을 둘러봤다. 서버들이 여전히 작동하고 있었다. 준호가 본 코드는 자신의 서버가 아니었다. 다른 누군가의 코드였다.
그리고 그 코드에는 심각한 보안 취약점이 있었다.
준호는 집에 돌아가지 않았다. 서버실에서 밤을 샜다. 매번 서버 근처에 서면 코드가 보였다. 마치 투명한 창을 통해 다른 세상을 보는 것처럼. 신기하게도, 그 코드들은 모두 회사 서버들이었다. 개발팀의 코드, 보안팀의 코드, 심지어 CEO 비서의 노트북 코드까지.
그들의 코드를 읽는 것은 그들의 일기를 읽는 것 같았다. 준호는 조용히 웃음을 흘렸다. 사람들과는 말할 수 없지만, 코드는 모든 것을 말했다.
3일째 아침, 준호는 자신의 손가락이 움직이는 것을 봤다. 의도하지 않았는데, 마치 본능처럼. 박준영 팀장의 노트북 코드 중 일부가 사라졌다. 그 부분은 사용자 검증 함수였다. 정확히 그 보안 취약점이.
준호는 손을 떨었다. 이건 버그가 아니었다. 이건 능력이었다.
그의 휴대폰이 울렸다. 박준영이었다.
"준호, 지금 와. 큰일이 났다. 우리 서버 코드 일부가 사라졌어. 누군가 접근한 흔적도 없는데, 코드 자체가 없어졌다. 넌 어제 뭐 했어?"
준호는 입을 열었다가 닫았다. 그리고 그 순간, 그의 눈앞에 떠오른 코드는 박준영 노트북의 또 다른 함수였다. 그곳에는 회사 전체 사원의 급여 정보와 개인 정보가 암호화되어 저장되어 있었다.
그 코드를 삭제할 수 있다는 것을 준호는 알았다.
손가락이 다시 움직이려 할 때, 준호는 멈췄다. 지금 이 순간, 그는 선택의 기로에 서 있었다. 삭제하면, 회사의 비밀이 무너진다. 삭제하지 않으면, 자신이 범인이 될 수도 있다.
준호는 천천히 손을 들었다.
그리고 눌렀다. 삭제 버튼을.
돌아갈 수 없었다.
이 소설의 다음 이야기가 궁금하다면?