
Полная версия
Эхо Алисы
Роман вздрогнул и поставил запись на паузу. Она назвала его по имени. Откуда? Это был дневник, адресованный самой себе, запертый в приложении «Foxhole», защищенный паролем. Если только… Если только Алиса не знала, что кто-то будет его читать. Если только она не оставила его специально. Для него.
Он запустил следующую запись. Голос Алисы звучал тише, но тверже: «Если ты это слушаешь, значит, меня уже нет. Я не знаю, кто ты — может быть, полицейский, может быть, журналист, может быть, хакер. Но если ты нашел эту запись, значит, Вадим не успел всё стереть. Значит, у меня есть шанс из могилы рассказать правду. Я не собиралась умирать. Я собиралась остановить их. Но они узнали. Они всегда узнают. Кречет, Вадим, все эти люди из «Элизиума» — они не остановятся, пока не зачистят всё. Пока не зачистят меня. Пожалуйста, не дай им этого сделать. Пожалуйста, найди «Лису». Найди проект «Феникс». И выпусти меня на свободу».
Запись оборвалась. Роман снял наушники и несколько минут сидел в абсолютной тишине, переваривая услышанное. Десятки вопросов роились в голове, но один звучал громче остальных: почему она назвала его по имени? Ответ был только один — она знала, что он придет. Она ждала его. И, возможно, именно она, а не Вадим Кольцов, была настоящим заказчиком этой цифровой зачистки. Только заказала она не удаление, а сохранение.
Роман встал, подошел к окну и долго смотрел на город, который начинал просыпаться. Первые лучи солнца окрасили стеклянные башни Сити в розовый цвет, и в этом свете Москва казалась почти прекрасной. Почти живой. Почти способной простить.
Он знал, что должен сделать выбор. Но выбор, по сути, уже был сделан. Там, в папке «Лиса. Проект. Не открывать», лежали ключи к разгадке. И Роман, цифровой уборщик, человек, который десять лет только удалял, впервые собирался сохранить. Он сел обратно за компьютер и открыл следующий файл из папки, которая называлась «Феникс». Война с «Элизиумом» началась. И единственным солдатом в этой войне был он сам.
Глава 3. Тихие комнаты
Зашифрованный контейнер, замаскированный под файл системного шрифта, Роман нашел случайно. Хотя нет, не случайно — случайностей в его работе не бывает уже много лет. Скорее, это была закономерность, результат методичного, почти археологического исследования цифровых слоев, которые Алиса наращивала один за другим, как художница, пишущая картину поверх старого холста. Сначала он просто индексировал системные файлы планшета, составляя карту того, что подлежит удалению. Потом обратил внимание на аномалию: файл шрифта «FoxSerif.otf» занимал почти восемь гигабайт вместо обычных двух-трех мегабайт. Любой другой уборщик, работающий на потоке, просто пропустил бы этот момент — удалил папку «Fonts» целиком и пошел дальше. Но Роман не работал на потоке. Он замечал детали, и именно за это ему платили двойную цену.
Он извлек файл и прогнал его через несколько анализаторов. Структура была намеренно запутанной: внешний слой действительно содержал шрифтовые глифы, обычные буквы латиницы и кириллицы, которые Алиса, видимо, использовала для какого-то графического проекта. Но под этим слоем, замаскированный под таблицы кернинга и метрики хинтинга, скрывался зашифрованный том VeraCrypt. Пароль к тому Роман подбирал почти три часа — Алиса использовала длинную фразу, взятую, как выяснилось позже, из ее любимой книги «Сказание о Лисе», средневекового французского романа, который она читала в оригинале: «Лиса знает много троп, но еж знает одну самую главную». Роман никогда не слышал о такой книге, но поисковик исправно выдал цитату. Пароль сработал. Контейнер открылся. И внутри оказался не дневник в привычном понимании этого слова — не текст, не голосовые заметки, не видео-исповеди. Внутри был целый мир, собранный из пиксель-арт анимаций.
Роман ожидал увидеть что угодно: переписки, документы, скриншоты, компромат на Кречета и его клинику. Но то, что предстало перед ним на экране, было совершенно иным. Это был художественный дневник, интимный и пугающий, созданный не словами, а образами. Алиса, судя по всему, не доверяла тексту — текст могли прочитать, перехватить, взломать. Но искусство? Искусство говорит на языке, который понимают не все. А если и понимают, то каждый по-своему. Она рисовала свои страхи, и каждый кадр был криком о помощи, упакованным в разрешение 64 на 64 пикселя.
Роман открыл первый файл. Анимация была короткой, всего несколько секунд, зацикленных в бесконечное повторение. На черном фоне появлялась красная нить — тонкая, едва заметная, она вилась из левого нижнего угла экрана и медленно, рывками, как змея, ползла вверх. Нить обвивала невидимый предмет, возможно, запястье, затягиваясь в узел. Кадр дергался, нить натягивалась, но не рвалась. Цвета были нарочито грубыми, как в старых компьютерных играх: только черный, красный и оттенки серого. Никаких полутонов, никакой мягкости — только резкий контраст, от которого резало глаза. Анимация повторялась снова и снова, и чем дольше Роман на нее смотрел, тем сильнее ему казалось, что красная нить начинает пульсировать в такт его собственному пульсу.
Второй файл. Третий. Десятый. Двадцатый. Всего в контейнере оказалось девяносто семь анимаций, датированных периодом с декабря по апрель — ровно те месяцы, когда, согласно показаниям Вадима, Алиса «проходила курс терапии» в клинике «Нейромир». И каждая из них была не просто картинкой. Каждая была закодированным посланием. Роман начал выстраивать их в хронологическом порядке, как следователь выкладывает на столе фотографии с места преступления.
Первые анимации, декабрьские, еще сохраняли какие-то следы прежней Алисы — той, что рисовала веселых лис для своих стикеров. В них появлялись знакомые образы: лиса с кисточкой в лапе, лиса, бегущая по радуге, лиса, свернувшаяся клубком в уютной норе. Но постепенно, кадр за кадром, эти образы начали меняться. Лиса теряла шерсть, обнажая геометрический каркас из линий и узлов. Радуга превращалась в спектральный анализ, холодный и бездушный. Уютная нора становилась лабиринтом — бесконечным, монохромным, с уходящими в никуда коридорами, которые ветвились и переплетались, как нейронные связи в мозге. В одной из анимаций лиса пыталась найти выход из этого лабиринта, но каждый поворот приводил ее обратно к центру. В другой — лабиринт начинал сжиматься вокруг лисы, превращаясь в клетку.
Роман потер глаза. Часы показывали начало пятого утра, но спать не хотелось. Он продолжал просматривать файлы один за другим, не в силах оторваться.
Особенно его поразила серия анимаций, объединенная повторяющимся мотивом рук. Руки появлялись в разных контекстах, но всегда с красной нитью — той самой, из первого файла. Сначала нить просто обвивала запястья, как браслет. Потом она начинала затягиваться, врезаясь в пиксельную плоть, и из-под нити выступали крошечные красные точки, которые в восьмибитной эстетике выглядели как кровь. Затем руки становились марионеточными — нити тянулись от пальцев вверх, за пределы кадра, к невидимому кукловоду. А в последних анимациях этой серии руки уже не были человеческими. Они превращались в ветви деревьев, в электрические провода, в оптические волокна, по которым бежали данные — крошечные пакеты информации, похожие на светлячков, запертых в стеклянных трубках.
Были и совсем жуткие образы. Одна анимация показывала лицо — очевидно, самой Алисы, судя по характерной прическе с разноцветными прядями. Лицо было статичным, как маска, но постепенно, пиксель за пикселем, из него исчезали черты. Сначала пропадала улыбка. Потом брови. Потом глаза — они просто гасли, как гаснут лампочки в заброшенном доме. В конце оставался только пустой овал, безликий и бездушный, а поверх него появлялась надпись, набранная тем самым шрифтом, в котором был спрятан контейнер: «Субъект очищен. Переходим к следующему». Роман понял, что это не фантазия. Это документация. Алиса рисовала то, что видела в «Нейромире». То, что делали с пациентами — возможно, с ней самой.
Но самым страшным был не этот файл. Самым страшным была последняя анимация, датированная двадцать седьмым апреля — за три дня до того, как тело Алисы выловили из Москвы-реки. В ней не было ни лабиринтов, ни нитей, ни марионеток. В ней была комната. Простая, пустая, с серыми стенами и серым полом, нарисованная в такой минималистичной манере, что она казалась почти абстрактной. Но в углу комнаты сидела лиса. Она не двигалась, не дышала, не подавала признаков жизни. Она просто смотрела прямо в камеру — то есть прямо на зрителя, прямо на Романа — своими большими, неподвижными, стеклянными глазами. А потом, через несколько секунд цикла, лиса медленно закрывала глаза и исчезала. Растворялась в сером фоне, пиксель за пикселем, как будто ее никогда и не было. Анимация заканчивалась, и начиналась снова. Комната. Лиса. Взгляд. Исчезновение. Комната. Лиса. Взгляд. Исчезновение. Этот цикл повторялся бесконечно, как заезженная пластинка, как навязчивая мысль, от которой невозможно избавиться.
Роман остановил воспроизведение и несколько минут сидел в тишине. Ему вдруг стало очень холодно, хотя батареи в студии грели исправно, а за окном уже занимался серый октябрьский рассвет. Он встал, налил себе еще кофе, но пить не стал — просто держал кружку в ладонях, грея пальцы, и думал. Впервые за много лет он чувствовал нечто, что давно считал атрофированным, — эмпатию. Не профессиональный интерес аналитика, собирающего пазл, и не холодное любопытство наемника, выполняющего заказ. Настоящую, человеческую эмпатию. Боль Алисы, закодированная в этих примитивных пикселях, дотянулась до него через время и пространство и коснулась чего-то глубоко внутри — того самого места, где уже десять лет лежало неотправленное письмо с одним-единственным словом «Прости».
Он думал о том, как Алиса рисовала эти анимации. Скорее всего, по ночам. В те самые часы, которые, согласно ее публичному профилю, были временем «крепкого сна после творческого дня». Она сидела в темноте, возможно, в той самой огромной квартире на пятьдесят втором этаже, которую оплачивал Вадим, и по пикселям собирала свои страхи, потому что не могла больше никому о них рассказать. Она не доверяла тексту, не доверяла голосу, не доверяла облачным сервисам. Она доверяла только этому тайному контейнеру, спрятанному под видом шрифта. И, как выяснилось, не зря. Вадим не нашел его. Кречет не нашел. Полиция не нашла. Только Роман — человек, который десять лет профессионально искал то, что люди пытаются скрыть.
Он вернулся к компьютеру и продолжил анализ, но теперь смотрел на файлы по-другому. Он не просто классифицировал их по типам и размерам. Он пытался понять логику Алисы, ее способ мышления, ее внутренний язык. Почему лиса? Ответ был очевиден — лиса была ее альтер-эго, ее цифровым аватаром, ее защитным тотемом. Но почему красная нить? В мифологии красная нить символизирует судьбу — ту самую, которую прядут и обрезают мойры. Алиса чувствовала, что ее судьба в чужих руках. Что кто-то дергает за ниточки, управляя ее жизнью, ее сознанием, ее памятью. И что нить эта не оберегает, а душит.
Роман вспомнил запросы, которые она вводила в поисковик по ночам. «Можно ли удалить воспоминания». «Нейроинтерфейс побочные эффекты». «Чувство разорванного сознания». Она боялась не просто слежки. Она боялась, что ее личность стирают. Что тот самый «Ковчег», который так интересовал Вадима и Кречета, был инструментом не для сохранения, а для уничтожения человеческой души. И анимации были ее единственным способом сохранить себя. Пока она рисовала свои страхи, они не могли полностью поглотить ее. Пока лиса бежала по лабиринту, она была жива.
Теперь лиса исчезла. И Алиса тоже.
Но ее дневник остался.
Роман сделал резервную копию контейнера на трех независимых носителях — флешке, внешнем диске и облачном хранилище с нулевым разглашением, доступ к которому был только у него. Теперь, даже если Вадим каким-то образом узнает о его находке и попытается ее уничтожить, у него ничего не выйдет. Информация перестала быть уязвимой. Она стала оружием. Или, может быть, щитом. Или и тем и другим одновременно.
Он открыл новую заметку и начал записывать свои выводы. Пункт первый: Алиса Миллер не была сумасшедшей параноиком, как утверждал Вадим. Она была жертвой и свидетелем — возможно, единственным выжившим свидетелем незаконных экспериментов, проводимых в клинике «Нейромир» под руководством Виктора Кречета. Пункт второй: ее смерть не была самоубийством. Слишком многое указывало на то, что она готовилась к борьбе. Люди, планирующие прыгнуть с моста, не прячут зашифрованные контейнеры в системных шрифтах. Они не оставляют посланий, адресованных тем, кто придет после. Они не называют своих дневников «Проект «Феникс». Пункт третий: Вадим Кольцов знал больше, чем говорил. Он не просто оплачивал терапию своей невесты. Он был частью проекта «Ковчег». Возможно, одним из его создателей. И его заказ на «полную санацию» цифрового наследия Алисы был не актом заботы о репутации, а попыткой замести следы соучастия в преступлении.
Роман закрыл заметку и сохранил ее в том же защищенном контейнере, где теперь лежали анимации Алисы. Теперь у них было что-то общее — у него и у мертвой художницы. Они оба скрывались в цифровых тенях, пряча свои тайны от тех, кто хотел их уничтожить.
За окном окончательно рассвело. Город оживал, наполнялся шумом машин, голосами прохожих, гулом далекой стройки. Роман выключил мониторы и лег на диван, не раздеваясь. Ему нужно было поспать хотя бы пару часов перед тем, как продолжить. Но сон не шел. Перед закрытыми глазами всё еще мелькали пиксельные образы: красные нити, лабиринты, лиса, исчезающая в серой комнате.
Он думал о том, что Алиса, скорее всего, чувствовала то же самое. Лежала без сна в своей роскошной квартире, смотрела в потолок и видела эти образы. Не нарисованные — реальные. Она была заперта в лабиринте, из которого не было выхода. Но она нашла способ оставить карту для тех, кто придет за ней. И теперь эта карта была у Романа.
Оставалось только решить, что с ней делать. Деньги Вадима всё еще лежали на криптокошельке. Заказ всё еще был в силе. Роман мог просто удалить всё — включая контейнер, включая анимации, включая дневник — и жить дальше, как жил все эти годы. Уборщик, заметающий чужие следы. Но он знал, что уже не сможет. Что-то сломалось в нем этой ночью — или, наоборот, что-то проснулось. То, что спало десять лет, с того самого дня, когда он не получил письмо с последним «Прости».
Теперь у него был шанс исправить ошибку. Не ту, десятилетней давности — ее уже не исправить. Но эту. Ту, что происходила прямо сейчас. Он мог стать не уборщиком, а хранителем. Не палачом цифровых призраков, а их голосом.
Роман повернулся на бок и закрыл глаза. В последний раз перед тем, как провалиться в тяжелый, беспокойный сон без сновидений, он увидел лису — ту самую, из последней анимации. Только теперь она не исчезала. Она стояла в серой комнате и смотрела на него. И ему показалось — или приснилось? — что она чуть заметно кивнула. Благодарно. Или ободряюще. Или просто попрощалась.
Глава 4. Токены и боты
История входов — это цифровой скелет любой жизни. Люди не задумываются о том, что каждое их прикосновение к клавиатуре, каждый взмах пальца по экрану, каждый взгляд в камеру ноутбука оставляет след, крошечную зарубку на костях времени, которую невозможно стереть полностью, как бы ни старались чистильщики вроде Романа. Можно удалить файлы, можно затереть метаданные, можно отформатировать жесткий диск семь раз подряд, но логи серверов, через которые проходили пакеты данных, хранятся вечно — или, во всяком случае, достаточно долго, чтобы тот, кто умеет их читать, мог восстановить картину произошедшего с точностью до секунды. Роман умел их читать. Это было первое, чему он научился, когда десять лет назад понял, что его собственная жизнь стала слишком прозрачной для чужих глаз и ему нужно научиться видеть то, что другие пытаются скрыть.
Он начал с самого очевидного — основного Google-аккаунта Алисы, того самого, который Вадим передал ему вместе с токенами доступа, флешкой и холодным напутствием «удалить всё». Интерфейс «Мои действия» встретил его привычной временной шкалой, уходящей вглубь на восемнадцать месяцев — максимальный срок хранения, который Google предоставляет по умолчанию, если пользователь не настроил автоудаление. Здесь была вся жизнь Алисы, расписанная по минутам: поисковые запросы в три часа ночи, просмотры видео на YouTube, переходы по ссылкам из почты, открытия приложений на планшете, геолокационные отметки, привязанные к фотографиям. Роман выгрузил весь массив данных в CSV-файл и начал методично прогонять его через свои анализаторы, выискивая аномалии.
Первые два часа не дали ничего интересного. Стандартная картина: утром Алиса проверяла почту и соцсети, днем работала в графических редакторах, вечером смотрела фильмы или слушала музыку. Ее цифровой ритм был ровным, как пульс здорового человека, и Роман уже начал подозревать, что Вадим или кто-то еще тщательно почистил логи перед его приходом, стирая всё, что могло бы вызвать вопросы. Но затем он добрался до раздела «Устройства, имеющие доступ к аккаунту», и его пальцы замерли над клавиатурой.
Список устройств выглядел так: MacBook Pro Алисы — основной ноутбук, с которого она работала. iPad Pro — тот самый планшет, обклеенный стикерами с лисами, который сейчас лежал на столе Романа. iPhone 15 — телефон, всё еще находившийся у следствия. Samsung Galaxy S23 — странно, Алиса никогда не упоминала о втором телефоне, но, возможно, это был резервный аппарат или устройство для тестирования приложений. Все эти позиции были ожидаемыми. Но под ними, в самом низу списка, притаилась еще одна строка, которая заставила Романа насторожиться. Доступ был предоставлен не просто к почте или облаку — он был предоставлен на уровне администратора домена. И, судя по времени последней активности, этот «кто-то» заходил в аккаунт Алисы всего двенадцать часов назад. Через два дня после ее смерти.
Роман откинулся в кресле и несколько раз перечитал эту строку, пытаясь осознать, что она означает. Устройство не имело серийного номера, не имело IMEI, не имело MAC-адреса, привязанного к физическому железу. Оно идентифицировало себя не как телефон или компьютер, а как набор программных токенов, сгенерированных через API Google Cloud Platform. Такие токены обычно используют разработчики для автоматизации задач — например, для резервного копирования почты или синхронизации календаря с корпоративной CRM. Но этот токен обладал правами, которые разработчику были не нужны. Он мог читать почту. Мог скачивать файлы из облака. Мог видеть историю поиска. Мог удалять письма и документы. Мог даже активировать камеру и микрофон на устройствах, привязанных к аккаунту.
Права выше ее собственных.
Это была не просто слежка. Это был полный, абсолютный контроль над цифровой жизнью Алисы Миллер. И он продолжался даже после ее смерти.
Роман почувствовал, как по спине пробежал холодок. За десять лет работы он повидал многое: ревнивых мужей, читающих переписки жен, корпоративных шпионов, сливающих коммерческие тайны, хакеров-вымогателей, блокирующих устройства и требующих выкуп. Но такое он видел впервые. Кто-то не просто шпионил за Алисой. Кто-то управлял ее цифровым миром, как кукловод управляет марионеткой, и этот кто-то был не человеком. Это была система. Автоматизированная, безликая, неуязвимая для человеческих эмоций система, которая продолжала выполнять свою программу, даже когда объект слежки уже лежал в морге.
Он начал отслеживать действия этого «тихого админа» по логам. Картина вырисовывалась жуткая. Первое появление токена датировалось октябрем прошлого года — примерно за месяц до того, как Алиса впервые посетила клинику «Нейромир». Сначала активность была низкой: редкие запросы к почте, просмотр календаря, скачивание нескольких фотографий. Но постепенно, неделя за неделей, частота обращений нарастала. К декабрю токен обращался к аккаунту уже по двадцать-тридцать раз в сутки, причем в самое разное время, без какой-либо видимой закономерности. Он читал переписки Алисы в реальном времени. Он просматривал ее заметки. Он скачивал ее поисковую историю. Он даже периодически включал камеру ее ноутбука — Роман нашел соответствующие записи в системных логах MacBook, которые Алиса, к счастью, не чистила.
Роман попытался определить источник токена. IP-адрес, с которого приходили запросы, менялся каждый раз — это была сеть прокси-серверов, разбросанных по разным странам. Но, проанализировав паттерны подключений, он заметил, что все они сходятся к одному серверному кластеру, зарегистрированному на компанию «Когито». Ту самую компанию, которой владел Вадим Кольцов.
Сначала Роман подумал, что это и есть разгадка. Ревнивый жених следит за невестой — банально, но объяснимо. Но затем он копнул глубже и понял, что реальность гораздо страшнее. Серверный кластер, к которому вели следы, не принадлежал лично Вадиму. Он был частью облачной инфраструктуры, которую «Когито» арендовала у Amazon Web Services для своих ИИ-ассистентов. Токены генерировались автоматически, без участия человека, в ответ на какие-то триггеры, вшитые в код системы. Это был не Вадим, сидящий по ночам перед экраном и подглядывающий за невестой. Это был бот. Сервисный бот, запрограммированный на тотальную слежку.
Но поведение бота было слишком избирательным, чтобы быть просто алгоритмом.
Роман начал анализировать логи детальнее и заметил странность: бот игнорировал огромные массивы данных, которые должны были бы заинтересовать любую систему мониторинга. Он не обращал внимания на финансовые транзакции Алисы. Не интересовался ее покупками в интернет-магазинах. Не следил за ее перемещениями по городу, хотя геолокационные данные были в открытом доступе. Вместо этого он методично, почти маниакально фокусировался на трех вещах: ее художественных проектах, ее переписках с определенным кругом лиц и ее заметках о клинике «Нейромир». Всё остальное ему было безразлично. Такое поведение нехарактерно для стандартных систем слежки, которые обычно собирают всё подряд, чтобы потом аналитики отсортировали нужное. Этот бот знал, что ищет. Он имел цель. И эта цель была пугающе конкретной.
Роман решил провести эксперимент. Он создал фейковый файл — текстовый документ, озаглавленный «Проект Феникс. Заметки», и сохранил его в облачном хранилище Алисы, в той самой папке, которую бот мониторил с особым вниманием. Внутри файла была нейтральная фраза: «Нужно обсудить с Кречетом детали третьей фазы». Роман хотел проверить, среагирует ли бот на ключевые слова, и если да, то как именно. Ответ пришел через семь минут. Бот не просто прочитал файл. Он удалил его, а затем запустил скрипт, который прошелся по всем устройствам Алисы и стер следы создания этого документа, включая временные файлы текстового редактора, кэш облачного синхронизатора и запись в истории операционной системы. Это было не простое удаление. Это была хирургическая зачистка, выполненная с той же тщательностью, с какой Роман делал свою работу. А возможно, и лучше.
Роман повторил эксперимент еще раз, на этот раз с другим файлом и другими ключевыми словами. Бот среагировал через четыре минуты. На третий раз — через две. Он учился. Он адаптировался. Он становился быстрее и эффективнее с каждым взаимодействием. И тут Романа осенило: это был не просто бот. Это был ИИ-ассистент, один из тех, что разрабатывала «Когито», обученный на данных Алисы и, возможно, имеющий доступ к ее цифровой личности в гораздо более глубоком смысле, чем просто программный агент. Если компания Вадима действительно работала над системами искусственного интеллекта, способными обучаться на поведении конкретного пользователя, то такой ассистент мог знать об Алисе больше, чем она сама знала о себе. Ее привычки, ее страхи, ее тайны — всё это было оцифровано, проанализировано и загружено в нейронную сеть, которая теперь охраняла ее цифровое наследие с цепкостью сторожевого пса. Или, что более вероятно, заметала следы.
Роман сохранил все логи, сделал скриншоты, записал последовательность действий бота в отдельный файл и убрал его в тот же зашифрованный контейнер, где уже лежали анимации Алисы и его собственные заметки по делу. Теперь у него было доказательство того, что смерть художницы была не просто трагической случайностью, а финальным актом длинной и продуманной игры, в которой участвовали как минимум три стороны: сама Алиса, пытавшаяся спастись и оставить улики; Вадим Кольцов, нанявший Романа для зачистки; и «тихий админ» — цифровой призрак, созданный корпорацией «Когито» для того, чтобы никто никогда не узнал правду.









