2178 - страница 21



– Мне?! Погодите… А я тут при чём?

– Не знаем, мисс. Приказ, – и они вышли.

Нэт медленно повернулась к мистеру Доновану.

– Ой, душенька, я тоже не знаю! – он уже пятился к двери. – Мне только сказали показать твой кабинет, я показал… и всё! – и тут же исчез.

– Придётся звонить детективу… – вздохнула Нэт и набрала номер.

– Да? – ответил Стефан. Голос уставший.

– Стефан, мне принесли два модуля. Один из фуры, второй… из умного дома. Ты знаешь об этом?

– Да, – отрезал он. – Один из вчерашней фуры, второй – из дома одного богатого типа. Надо проверить на ошибки. Пожалуйста, – добавил уже мягче.

– Хорошо, сделаю. А что с домом?

– Устроил пожар. Разогрел плиту, кинул на неё полотенце, а потом отказался тушить. Произошло вчера ночью. Инцидент неприятный.

– Пострадал кто-то?

– Кот. И самолюбие владельца, – усмехнулся он.

– Кот?! Сильно?

– Немного надышался гарью и подпалил хвост.

– Капец, – выдохнула Нэт. – Ты хоть спал?

– Не-а.

– Идёшь сейчас?

– Да. Добрых снов, Нэтти.
– Я забыл… – добавил он, уже словно на автомате. – Сейчас скину контакт Джесса. Он напрямую подключится и посмотрит, что ты нашла.

– Хорошо. Иди уже… спокойной ночи, детектив.

Нэт отключила вызов, выдохнула, посмотрела на кучу перед собой и сказала вслух:

– Ну, поехали…

И начала подключать модули.

Подключила первый модуль.
Это был он – тот самый умный дом, с которым она работала ещё со времён университета. Первый по-настоящему серьёзный проект. Она знала его до винтика, до каждой команды, до скрипов в голосовом помощнике, когда тот говорил «доброе утро, хозяин».

В этом доме не могло быть ошибки. Просто не могло.

Она погладила корпус модуля, как старого друга, и включила терминал.

Программа отреагировала мгновенно – интерфейс загрузился чисто, без флуктуаций. Статус-светодиоды горели ровно, связь с резервным блоком – стабильна.
Она открыла внутренний лог команд, проверила все системные уведомления за последние 48 часов.

– Чисто… – пробормотала Нэт, щёлкая вкладки одну за другой.

Пошла в код.
Проверила последовательности, прописанные ею лично: логика температурных режимов, привязки к датчикам движения, корректировка влажности, реакция на дым. Всё на месте.
Чётко. Как с лекций, как в проектной лаборатории, как в финальной версии, которую потом презентовали в министерстве.

Ни одной ошибки.

Она откинулась на спинку, задумалась. Потом снова наклонилась, открыла ещё глубже – скрипты автоматизации бытовых решений, голосовые команды, ручное управление. И снова – всё чисто.

– Да что за…

Тогда она сделала ход, который не использовала с момента защиты диплома:
запустила тестирование всех команд одновременно. Полный симулятор, все системы параллельно.

Интерфейс на секунду замер, потом начал проигрывать действия – включение плиты, регуляция температуры, голосовые отклики, запуск робота-пылесоса, активация кофемашины.

И вдруг – сбой.
Одна команда прервалась.
В знакомом фрагменте её кода, написанном ею же.
Она замерла.

Внутри блока появилась чужая вставка – вшитая, замаскированная, на первый взгляд – частью её структуры.

Нэт увеличила масштаб.
Новая подпрограмма запускала максимальный нагрев любого подключённого прибора и одновременно отключала всю противопожарную систему.

– Вот дерьмо… – прошептала она.

Взгляд заскользил по строчкам. Чужой код был встроен с хирургической точностью. Почти невидимо.
Словно кто-то намеренно подстроил сбой под её стиль, зная, как и где не оставить следов.