В три часа ночи директор центра управления сунул мне в руки пропуск и сказал, что если я не спасу систему к рассвету, несколько сотен людей потеряют работу.
Я тогда ещё не знал, что через четыре дня мне заплатят за это восемьсот долларов вместо обещанных восьмисот тысяч.
Калифорнийская пустыня осталась за окном, раскалённая даже в предрассветной темноте. Я ехал по пустой трассе, а на соседнем сиденье лежал мой ноутбук в чёрном матерчатом чехле с медной застёжкой. Эту застёжку я когда-то выточил сам из старой детали авиационного прибора. Она щёлкала при каждом повороте дороги, будто отсчитывала секунды до катастрофы.
В 2:47 мне позвонила Елена Морозова, главный инженер проекта.
— Артём, ты должен приехать сейчас.
— Что случилось?
— Система снова ушла от расчётных значений. На этот раз мы не понимаем почему.
— А руководство?
На другом конце повисла пауза.
— Руководство уже здесь. И оно очень хочет найти виноватого до начала рабочего окна.
В центре пахло холодным кофе, пылью от серверных фильтров и нагретым металлом. На стене мигали десятки экранов. Одни показывали графики, другие — предупреждения, третьи давно застыли на одном значении.
У стеклянной двери меня встретил генеральный директор Виктор Ланской. На нём был дорогой костюм, но галстук висел криво, а под глазами залегли тёмные тени.
— Вы тот самый независимый специалист?
— Я тот, кто может найти причину.
— Нам нужна не причина, а результат.
— Тогда не мешайте мне работать.
Елена резко подняла взгляд, а Виктор впервые внимательно посмотрел на меня.
— Восемьсот тысяч после подтверждения стабильности, — произнёс он. — Всё будет оформлено.
— В договоре это есть?
— Юристы подготовили документы. Вы получите деньги, если система выдержит проверку.
Я кивнул и поставил ноутбук на стол. Внутри него работала созданная мной программа «Решётка» — диагностический инструмент, который не просто читал данные, а видел связи между ошибками, возникающими в разное время и на разных узлах.
Елена скрестила руки.
— Мы уже проверили все основные контуры.
— Значит, проблема не в основных.
— Наши инженеры работают над этим шесть дней.
— А я работаю один. Дайте мне доступ.
Первые десять часов я почти не разговаривал. На экранах ползли ряды чисел, вентиляторы гудели, а медная застёжка моего чехла холодила пальцы, когда я машинально касался её в минуты напряжения.
К полудню я нашёл первый странный участок. Один узел получал корректные команды, но записывал их с задержкой в доли секунды. Этого было недостаточно, чтобы система немедленно рухнула, зато хватало, чтобы ошибка накапливалась.
— Вот, — сказал я.
Елена наклонилась к экрану.
— Это невозможно. Этот участок проверяли трижды.
— Вы искали неисправность. Я ищу повторяющийся след.
Виктор подошёл ближе.
— Сколько времени?
— Если повезёт, сутки.
— У вас нет суток.
— Тогда вам лучше молиться.
Он сжал челюсть и ушёл. Я снова уткнулся в экран.
На второй день команда перестала спорить со мной. На третий инженеры начали приносить мне кофе, хотя я не просил. На четвёртый утром графики вдруг выровнялись.
Число остановилось на отметке 0,09 — далеко внутри допустимого предела.
Елена прикрыла лицо ладонями.
— Мы стабильны, — прошептала она.
Я откинулся на спинку стула. Впервые за пятьдесят два часа позволил себе закрыть глаза.
Виктор хлопнул меня по плечу.
— Я же говорил, что мы договоримся.
Я посмотрел на него и ничего не ответил. Слишком устал, чтобы заметить, как он отвёл взгляд.
Через три дня, уже дома, я обнаружил на кухонном столе кремовый конверт. Внутри лежал чек на восемьсот долларов.
Я несколько минут просто смотрел на цифры.
Потом позвонил их юристу Марине Соколовой.
— Это ошибка, — сказал я.
— Нет, Артём. Это окончательный расчёт.
— Мы договаривались о восьмистах тысячах.
— Результат достигнут, но ваша диагностическая программа не имела предварительного письменного одобрения.
— Именно она нашла неисправность.
— Это не меняет условий.
Я положил трубку и посмотрел на медную застёжку чехла, лежавшего рядом с раковиной. Потом взял чек, ноутбук и вернулся в центр.
В переговорной Виктор, Марина и Елена ждали меня за длинным столом.
— Вы пришли спорить? — спросила Марина.
— Нет.
Я положил кремовый конверт на стол.
— Тогда мы закончили.
— Вы не можете просто забрать своё оборудование, — резко сказал Виктор.
— Могу. Оно моё.
Я закрыл ноутбук и отсоединил кабель от консоли. Мягкий щелчок разнёсся по комнате.
— Артём, — предупредила Марина, — не совершайте необдуманных действий.
— Я как раз впервые за неделю действую совершенно обдуманно.
Я поднял сумку и направился к двери. Позади меня Виктор что-то сказал, но я не разобрал. Через несколько шагов раздался тихий сигнал тревоги.
Елена перестала дышать.
— Почему панель не отвечает?
Я обернулся. На главном экране застыл график. Красная строка медленно расширялась по краю дисплея.
— Кто авторизовал это обновление? — спросила Елена, глядя на открытый журнал изменений.
Марина подняла руку к папке, лежавшей перед ней, и начала вытаскивать первый лист, словно только сейчас поняла, что именно там находится…
ЧАСТЬ 2
Марина вытащила из папки не лист, а тонкий журнал с жёлтой обложкой. Её пальцы дрожали так заметно, что Виктор резко повернулся к ней.
— Что это?
— Журнал доступа к обновлению, — ответила она.
— Я спросил, что это значит?
Елена уже стояла у главной консоли. Красная строка расползалась по экрану, а показатели, которые держались четыре дня, начали медленно уходить в сторону.
— Узел снова перестал отвечать, — сказала она. — Но это не обычный сбой.
— Перезапустите его, — приказал Виктор.
— Если перезапущу сейчас, мы потеряем последние данные.
— Делайте!
— Нет.
В комнате стало тихо. Елена впервые за всё время посмотрела на него без усталости и страха.
— Мы уже потеряли систему один раз, потому что вы заставили нас действовать вслепую. Больше я не буду.
Я подошёл к консоли, но не коснулся клавиатуры.
— Что было изменено?
Елена открыла журнал. На экране появилась последовательность команд, введённых за несколько часов до моего приезда.
Я узнал формат сразу.
— Это не обновление программы, — сказал я. — Это изменение таблицы приоритетов.
Марина побледнела.
— В договоре указано, что подобные настройки выполняются только после письменного согласования.
— Тогда почему они здесь? — спросила Елена.
Виктор резко захлопнул журнал.
— Сейчас не время искать виноватых.
— А когда будет время? — спросил я. — После того как вы спишете на меня очередной провал?
Он шагнул ко мне.
— Осторожнее, Воронцов.
— Я слишком осторожен. Именно поэтому моя программа нашла то, что ваши люди не видели.
— Ваша программа не имеет права находиться в нашей системе.
— Но пока она была там, ваша система работала.
Марина перебила нас:
— Артём, объясните, что произойдёт дальше.
Я посмотрел на бегущие значения.
— Если это изменение будет продолжать действовать, через девять минут система начнёт отбрасывать корректные команды. Через сорок минут остановится резервный контур.
Елена стиснула металлический край стола.
— Можно вернуть прежние настройки?
— Можно. Но для этого нужен ключ подтверждения.
— Он у вас?
— Нет. Его запросили у меня вчера вечером, но я отказался передавать его без полной оплаты.
Виктор усмехнулся.
— Вы сейчас угрожаете нам?
— Я описываю последствия вашего решения.
— Вы получили восемьсот долларов.
— За них вы купили ровно то, что указано в платёжном документе. Не моё время. Не право использовать «Решётку». Не право оставлять её подключённой.
Марина медленно подняла голову.
— Вы отключили программу?
— Я отсоединил ноутбук.
— Тогда почему система продолжает работать?
Я посмотрел на журнал изменений.
— Потому что кто-то скопировал часть модулей в ваш внутренний контур.
Виктор резко повернулся к Елене.
— Кто имел доступ?
— Ты сам подписывал распоряжение, — ответила она.
— Не смейте переводить разговор на меня.
— Я ничего не перевожу. Я читаю журнал.
В этот момент в коридоре завыла сирена. На стекле переговорной отразились красные вспышки. Где-то в серверной сработала автоматическая блокировка.
Елена посмотрела на меня.
— Если вы уйдёте сейчас, мы можем потерять всё.
Я почувствовал, как внутри поднимается знакомая злость, но заставил себя говорить спокойно.
— Если я останусь, вы снова скажете, что программа использовалась без разрешения.
— Я этого не скажу, — тихо произнесла Елена.
— Вы не решаете.
Марина открыла папку и достала второй документ.
— Возможно, решает вот это.
На первой странице стояла дата, за два дня до моего приезда. Ниже — подпись Виктора и пункт о чрезвычайном доступе внешнего специалиста к внутренним системам.
Я перечитал строку дважды.
— Вы уже дали разрешение, — сказал я.
Виктор выхватил бумаги.
— Это черновик.
— На нём ваша подпись.
— Подпись можно оспорить.
— А запись с камер тоже?
Он замолчал.
Елена медленно повернулась к стенному экрану.
— Камеры сохраняют звук в архиве безопасности.
Марина закрыла глаза.
— Виктор, что именно вы сказали Артёму в ту ночь?
— Я ничего не говорил.
Я услышал собственный голос, записанный системой наблюдения:
«Восемьсот тысяч после подтверждения стабильности. Всё будет оформлено».
Затем прозвучал голос Виктора:
«Если он спасёт систему, мы заплатим. Главное — чтобы он не задавал лишних вопросов».
Лицо директора стало серым.
Но запись продолжалась. За его словами следовала фраза, которую никто в комнате не ожидал услышать.
«А если он уйдёт с ноутбуком, активируйте резервный модуль. Пусть система рухнет уже после его ухода».
Елена отступила от экрана.
— Ты специально оставил ловушку?
Виктор открыл рот, но не ответил.
В этот момент на моём телефоне появился неизвестный номер. Я принял вызов.
— Господин Воронцов? — спросил незнакомый женский голос. — Не возвращайтесь к консоли. Я звоню из федерального управления расследований, и у нас есть сведения, что эта авария была подготовлена не для шантажа вас, а для уничтожения кое-каких данных. Вам нужно немедленно решить, кому вы готовы доверить свой ноутбук…
ЧАСТЬ 3
— Кто вы? — спросил я, отойдя от стола.
— Меня зовут Надежда Орлова. Я расследую махинации вокруг этого контракта.
Виктор сразу ожил.
— Это незаконное вмешательство! Передайте телефон мне.
— Не подходите, — сказала я, и сама удивилась твёрдости своего голоса.
Надежда продолжила:
— Мы отслеживали не вашу программу. Мы отслеживали человека, который пытался удалить историю изменений. Сегодня ночью он решил спрятать удаление внутри аварийного обновления.
Елена смотрела на Виктора.
— Ты говорил, что резервный модуль нужен для защиты.
— Он и нужен для защиты.
— Тогда почему он стирает журналы?
Виктор бросил взгляд на Марину.
— Я требую немедленно прекратить этот разговор.
— Вы можете требовать что угодно, — ответила Надежда через телефон. — Но сначала господин Воронцов должен открыть файл, который находится на его компьютере.
Я замер.
— На моём ноутбуке нет ничего, кроме диагностической программы.
— Проверьте папку с названием «Калибровка». Она создаётся автоматически при первом подключении к системе.
Я положил сумку на стол и открыл ноутбук. Медная застёжка чехла щёлкнула, когда я откинул крышку. На экране появился список файлов.
Папка действительно была.
— Не открывайте её, — сказал Виктор.
— Почему?
— Потому что это собственность компании.
— Если она создалась на моём оборудовании, это не ваша собственность.
— Артём, — тихо сказала Елена, — откройте.
Я нажал на папку.
Внутри лежали не только журналы. Там находилась копия первоначальных настроек, сохранённая за два дня до моего приезда, и запись каждого изменения, внесённого после этого.
На экране появилась строка: «Приоритет аварийного модуля изменён вручную. Пользователь: В. Ланской».
Марина закрыла рот ладонью.
— Это невозможно, — прошептала она.
— Вы сами подписывали распоряжение, — сказала Надежда. — Но теперь у нас есть доказательство, что вы не просто нарушили договор. Вы подготовили отказ системы, чтобы списать его на внешнего специалиста.
Виктор резко ударил ладонью по столу.
— Я ничего не готовил!
— Тогда объясните вторую запись, — сказал я.
Я открыл аудиофайл. В переговорной снова прозвучал его голос:
«Когда система упадёт, мы заявим, что Воронцов подключил неподтверждённый код. Он испугается суда и согласится на восемьсот долларов».
Никто не двигался.
Виктор слушал собственные слова, и с каждой секундой его лицо становилось всё более пустым. Марина медленно отодвинула от него папку.
— Вы сказали, что заплатите ему полную сумму, — произнесла она.
— Это была переговорная формулировка.
— Вы сказали, что хотите обмануть его.
— Я имел в виду другое.
— Что именно? — спросила Елена.
Он не ответил.
Надежда попросила меня скопировать файлы на защищённый носитель. Пока я переносил данные, система продолжала угасать. Елена отключила аварийный модуль и вернула старую таблицу приоритетов.
Через сорок секунд графики снова выровнялись.
— Стабильность возвращается, — сказала она.
Я закрыл ноутбук.
— Теперь вы можете вызвать своих юристов.
— Они уже едут, — ответила Марина.
— А я уезжаю.
— Нет, — сказала Надежда. — Вам лучше остаться до прибытия следователей.
Я посмотрел на Виктора. Он сидел неподвижно, словно надеялся переждать происходящее, не произнося ни слова.
— Я останусь, — сказал я.
Через двадцать минут в центр вошли двое сотрудников расследовательского управления. Они предъявили документы, забрали копию журналов и опечатали серверный шкаф.
Виктор попытался позвонить своему адвокату.
— Он не отвечает, — прошептала Марина.
— Попробуйте ещё раз.
Она набрала номер. На этот раз звонок сразу оборвался.
На телефон Виктора пришло сообщение. Он прочитал его и медленно поднял глаза.
— Что там? — спросила Елена.
Он ничего не сказал.
Надежда протянула руку.
— Покажите.
Виктор отдал ей телефон.
Она прочитала сообщение, затем посмотрела на меня.
— Банк заморозил счёт компании. Но это не всё.
— Что ещё?
— Утром они должны были представить инвесторам отчёт о восстановлении системы. А сейчас инвесторы получили копию другой записи.
Я почувствовал, как усталость наконец пробилась сквозь напряжение.
— Значит, всё закончено?
Надежда покачала головой.
— Нет. Самое опасное начнётся через час, когда Виктор узнает, кто передал запись инвесторам. Потому что это был человек, которому он доверял больше всех…
Он снова позвонил мне, когда потерял всё…
Я думал, что эта история закончилась в серверной.
Но настоящая развязка началась только тогда, когда мне снова предложили вернуться.
«Я больше не буду делать свои последствия твоей обязанностью»
И впервые мне стало спокойно.
👇 Финал истории уже открыт






