2178 - страница 21
– Мне?! Погодите… А я тут при чём?
– Не знаем, мисс. Приказ, – и они вышли.
Нэт медленно повернулась к мистеру Доновану.
– Ой, душенька, я тоже не знаю! – он уже пятился к двери. – Мне только сказали показать твой кабинет, я показал… и всё! – и тут же исчез.
– Придётся звонить детективу… – вздохнула Нэт и набрала номер.
– Да? – ответил Стефан. Голос уставший.
– Стефан, мне принесли два модуля. Один из фуры, второй… из умного дома. Ты знаешь об этом?
– Да, – отрезал он. – Один из вчерашней фуры, второй – из дома одного богатого типа. Надо проверить на ошибки. Пожалуйста, – добавил уже мягче.
– Хорошо, сделаю. А что с домом?
– Устроил пожар. Разогрел плиту, кинул на неё полотенце, а потом отказался тушить. Произошло вчера ночью. Инцидент неприятный.
– Пострадал кто-то?
– Кот. И самолюбие владельца, – усмехнулся он.
– Кот?! Сильно?
– Немного надышался гарью и подпалил хвост.
– Капец, – выдохнула Нэт. – Ты хоть спал?
– Не-а.
– Идёшь сейчас?
– Да. Добрых снов, Нэтти. – Я забыл… – добавил он, уже словно на автомате. – Сейчас скину контакт Джесса. Он напрямую подключится и посмотрит, что ты нашла.
– Хорошо. Иди уже… спокойной ночи, детектив.
Нэт отключила вызов, выдохнула, посмотрела на кучу перед собой и сказала вслух:
– Ну, поехали…
И начала подключать модули.
Подключила первый модуль. Это был он – тот самый умный дом, с которым она работала ещё со времён университета. Первый по-настоящему серьёзный проект. Она знала его до винтика, до каждой команды, до скрипов в голосовом помощнике, когда тот говорил «доброе утро, хозяин».
В этом доме не могло быть ошибки. Просто не могло.
Она погладила корпус модуля, как старого друга, и включила терминал.
Программа отреагировала мгновенно – интерфейс загрузился чисто, без флуктуаций. Статус-светодиоды горели ровно, связь с резервным блоком – стабильна. Она открыла внутренний лог команд, проверила все системные уведомления за последние 48 часов.
– Чисто… – пробормотала Нэт, щёлкая вкладки одну за другой.
Пошла в код. Проверила последовательности, прописанные ею лично: логика температурных режимов, привязки к датчикам движения, корректировка влажности, реакция на дым. Всё на месте. Чётко. Как с лекций, как в проектной лаборатории, как в финальной версии, которую потом презентовали в министерстве.
Ни одной ошибки.
Она откинулась на спинку, задумалась. Потом снова наклонилась, открыла ещё глубже – скрипты автоматизации бытовых решений, голосовые команды, ручное управление. И снова – всё чисто.
– Да что за…
Тогда она сделала ход, который не использовала с момента защиты диплома: запустила тестирование всех команд одновременно. Полный симулятор, все системы параллельно.
Интерфейс на секунду замер, потом начал проигрывать действия – включение плиты, регуляция температуры, голосовые отклики, запуск робота-пылесоса, активация кофемашины.
И вдруг – сбой. Одна команда прервалась. В знакомом фрагменте её кода, написанном ею же. Она замерла.
Внутри блока появилась чужая вставка – вшитая, замаскированная, на первый взгляд – частью её структуры.
Нэт увеличила масштаб. Новая подпрограмма запускала максимальный нагрев любого подключённого прибора и одновременно отключала всю противопожарную систему.
– Вот дерьмо… – прошептала она.
Взгляд заскользил по строчкам. Чужой код был встроен с хирургической точностью. Почти невидимо. Словно кто-то намеренно подстроил сбой под её стиль, зная, как и где не оставить следов.