Kitobni o'qish: «Ноль процентов на любовь 2.0. Код резонанса»

Shrift:

Баланс не сходится

Запах старого кирпича, дорогого кофе из умной машины и едва уловимой ноты ладана, который Виталий иногда жжёт «для атмосферы», висел в воздухе неподвижно, как и сама тишина. В офисе «Resonance» было пусто, команда разошлась час назад. Светился только один островок – стол Наталии.

Наталья, (но для мира и для самой себя всё чаще – просто Натали) не слышала тишины. Она слышаларитм. Ритм клавиш под её пальцами – чёткий, безошибочный, метроном её мыслей. На главном мониторе плясали строчки кода – последние правки в новый алгоритм «Гармония 2.0», который должен был не просто находить общие интересы, а предсказывать потенциал роста пары. Он анализировал не статичные данные, а динамику: как менялись ответы пользователей после совместных квестов, рос ли словарный запас их диалогов, появлялись ли в их голосах на аудио заданиях новые, более тёплые обертона.

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

Её взгляд скользнул ко второму монитору, где в режиме реального времени ползли графики:DAU, удержание, конверсия в платный контент. Зелёные, здоровые, растущие столбцы. Всё сходилось. Баланс. Идеальный баланс, которого она как бухгалтер (бывший, но внутренний – навсегда) добивалась в отчётах и теперь добивалась здесь, в своём деле, в своей жизни. Рядом с ним.

Жизнь… Мысль споткнулась. Она оторвалась от экрана, потянулась за кружкой, и взгляд упал на фотографию в тонкой стальной рамке. Не постановочное селфи, а кривой, смазанный кадр, сделанный, скорее всего, Кариной в тот самый день, когда они с Виталием, вымотанные после сумасшедшего выпуска, заснули на диване в этом же лофте. Он – раскинувшись, с роскошной шевелюрой на её плече. Она – скрючившись, со строгим лицом даже во сне, но её рука лежала поверх его, на груди, как бы проверяя пульс.

Баланс. Но какой ценой? Ценой этих синих кругов под глазами, которые не берёт даже корректор перед стримом? Ценой тихого, фонового гула тревоги, который включается каждый раз, когда в статистике появляется аномальный, хоть и микроскопический, всплеск отказов? Алгоритм «Гармония 1.0» работал. Работал блестяще. Но достаточно ли «блестяще»? Система должна быть не просто эффективной. Она должна быть… неуязвимой. Как форт. Наш форт. Потому что за стенами…

Её пальцы сами потянулись к трекпаду, вызвали сводку мониторинга соцсетей. Автоматический скраппер вылавливал все упоминания «Resonance», «Натали и Виталий», «#МучнойПоцелуй». Большинство – восторженные, благодарные. «Вы дали надежду!», «Нашла своего человека через ваш квест с облаками!». Она бегло пробегала глазами, отфильтровывая шум. И вдруг – остановилась.

Сообщение в профессиональном IT-паблике, не о них, а о старой, уже почти забытой платформе:«Кто-нибудь ещё ловил глюки в старой базе «ИдеалМатч»? Кажется, призрак бродит по серверам. Нашёл у себя в логах запросы от их API, которые мы не отправляли. Странно…»

Комментарий под ним:«Не один ты. У меня пара пользователей жаловалась, что их через наше приложение свело с полными психопатами по старым, ультра-строгим шаблонам «ИдеалМатч». Пришлось извиняться и возвращать деньги.»

Лёд тронулся где-то глубоко в животе у Наталии. Не страх. Нет.Раздражение. Чистое, почти математическое раздражение от неэффективности, от системной ошибки, которую кто-то допустил, недоконтролировал, не обнулил до конца.

Призрак. Глюк. Некрасиво. Непрофессионально. «ИдеалМатч» должен был кануть в лету, как динозавр, проигравший эволюционную гонку. Его алгоритм был тупиковым. Он искал сходство, а не развитие. Он был… мёртв. Мёртвые системы не должны проявлять активность. Это противоречит логике.

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

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

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

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

– Статистика положительная. Но появился шум в данных. Фантомные активности старого «ИдеалМатч». Некрасиво.

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

Она развернула тубус. Внутри – не постер и не чертёж. А старый, потрёпанный, в пятнах чая,нотная тетрадь. На обложке корявым почерком выведено: «Импровизации для Сони и другие опыты».

– Это… для слепой собаки? – тихо спросила она, проводя пальцем по шершавой бумаге.

– Для неё и для нас, – он сел на край стола, нарушая её безупречную рабочую зону.

– Я сегодня был у того самого приюта. Сони… не стало. Месяц назад. Но ребята сказали, что в последние недели она почти не боялась. Слушала. Вот я и подумал… Наши алгоритмы, они ведь про будущее, да? Про рост. А эта тетрадь… она про то, что уже было. Про то, что уже сработало. Может, стоит иногда и прошлое в расчёт брать? Не только будущее?

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

Он говорит о памяти. Об эмоциональном кэше. Это можно параметризировать? Вопросы в анкету о прошлом опыте заботы, о моментах тишины… Нет, не так. Нужно…

– Спасибо, – сказала она вслух, закрывая тетрадь. Её голос прозвучал тише, чем она планировала. – Это… ценный data set. Эмпирический. Я изучу.

Он рассмеялся, и смех его заполнил лофт, вытеснив остатки тишины.

– Изучи, королева. Только не разбери на атомы. В некоторых вещах важен не

состав, а гунчжэнь – резонанс.

Он произнёс последнее слово по-китайски, как когда-то давно, на одном из их первых эфиров, когда объяснял ей философию своего творчества. И ушёл греться под душ, оставив за собой дорожку из капель и ощущение лёгкого, сбивающего с толку тепла.

Натали осталась одна. Перед ней на столе лежали две сущности. На мониторе – холодное предупреждение о фантоме из прошлого, угрожающее её идеальному балансу. Рядом – потрёпанная тетрадь, proof of concept его души и, как ни парадоксально, ключ к чему-то более прочному, чем любой алгоритм.

Она открыла новый файл. Назвала:«Проект «Призрак». Внутренняя памятка». И начала писать, её мысли текли с ледяной скоростью:

«1.Аномалия: спорадические активности legacy-системы «ИdealMatch».

2.Гипотеза:не случайный сбой. Паттерн (требует проверки). Возможно, целенаправленное использование старого кода.

3.Риски:репутационные (ассоциация со старой, дискредитированной платформой). Психологические для пользователей (возврат к токсичным моделям подбора).

4.Цель:Выявить источник. Нейтрализовать. Интегрировать lesson learned в «Гармонию 2.0» – добавить модуль «проверка на токсичные паттерны из прошлого».

5.Действия:Завтра. Утром. Незаметно.»

Она сохранила файл, откинулась на спинку кресла и закрыла глаза. За стеной послышался звук воды и фальшивое, нарочито-громкое пение Виталия. Призрак прошлого и музыка настоящего. Угроза и доверие.

Баланс на сегодня не сходился. В графе «активы» появился непросчитанный риск. В графе «пассивы»… лежала старая тетрадь, ценность которой невозможно было выразить в цифрах.

Завтра, – решила она, открывая глаза. Их синева в отражении монитора казалась ледяной. Завтра мы начнём сводить этот баланс.

Фальшивый аккорд

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

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

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

Виталий натянул старую футболку с полу стёршимся принтом какой-то легендарной джаз-группы и спустился вниз, в большую часть лофта. Не включая верхний свет, он подошёл к роялю. Пальцы сами легли на клавиши, холодные и немного влажные. Он не стал играть «импровизацию для Сони». Вместо этого из-под его пальцев поплыла та самая тема, которая родилась год назад, после того самого скандального кулинарного баттла. Они тогда не сговаривались, но оба молча пришли сюда, среди ночи. Она села на диван, поджав ноги, он сел за инструмент. И родилась эта мелодия – дерзкая, острая, с внезапными паузами и взрывными, почти яростными пассажами. Они назвали её потом «Contrapunto» – «Контрапункт». Музыкальное противосложение. где две самостоятельные мелодии спорят, переплетаются и в итоге создают нечто целое, большее, чем их сумма.

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

Внутренний монолог Виталия:

Призрак. Чёрт бы побрал её призраков. У неё они в данных, у меня – в пальцах. Откуда это? Это же не про старый алгоритм. Это про… ожидание удара. Как перед концертом, когда знаешь, что в зале сидит циничный критик, готовый разнести твою импровизацию в пух и прах. Кто этот критик сейчас? Максим? Бывший её коллега, этот паук в свитере? Или что-то большее?

Он резко оборвал игру. Тишина, заполненная только стуком дождя, навалилась тяжело. Его взгляд упал на второй рабочий стол, его стол. Там, среди хаоса набросков на салфетках, чашек и кабелей, лежал планшет. Экран был тёмным. Виталий взял его, разблокировал. Помимо нотных редакторов и соцсетей, там было одно приложение, о котором не знала даже Наталия. Простой мессенджер с шифрованием, который ему когда-то поставил один знакомый музыкант-параноик. В нём был всего один активный чат.

«Леший». Такой ник. За ним скрывался тот самый парень из хакерского кафе «Байт», куда Виталий захаживал, когда нужен был абсолютно непрослеживаемый вай-фай или мнение о чём-то, лежащем далеко за пределами его понимания.

Не глядя на часы (было уже за полночь), Виталий написал:

Витя. Беспокою. Есть вопрос не по музыке.

Ответ пришёл почти мгновенно. Леший, похоже, тоже не спал.

Леший: Слушаю. Если про взлом аккаунта бывшей – нет. Моральные принципы.

Витя: Глупей. Про призраков. Старые, мёртвые, но очень умные системы. Могут они вдруг оживать сами? Или их кто-то искусственно откапывает и… доучивает?

Пауза была длиннее.

Леший: Самовоспроизводящийся ИИ на старом коде – маловероятно. Разве что его изначально так и задумывали, но спрятали «чёрный ход». А вот доучить… Да запросто. Если есть оригинальная база данных и хоть какой-то скелет алгоритма. Особенно если тот, кто учит, знает, чего он хочет добиться. Не улучшить, а… испортить. Исказить. Ты о чём?

Витя: О чувстве. Что кто-то играет не свою музыку на моём инструменте. И играет нарочито плохо. Чтобы слушатель усомнился в инструменте. Или в музыканте.

Леший: Философично. А на практике? IP, домены, хоть что-то?

Витя: Пока нет. Будут – кину тебе. Спасибо.

Леший: Без проблем. За консультацию – как всегда, часовой сэт в «Байте» когда-нибудь. Мне твои диссонансы нравятся.

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

Она там строит оборону из логики и данных. А враг… Враг, возможно, играет в другую игру. Не на захват территории, а на подрыв доверия. К системе. К нам. К нам друг к другу.

Его снова потянуло к роялю. Но играть «Контрапункт» с фальшивой нотой больше не хотелось. Вместо этого он начал подбирать что-то новое. Медленное, настороженное, полное неразрешённых гармоний. Музыка ожидания бури. Он назвал её про себя«Тихий патч» – тихое обновление, которое система устанавливает сама, готовясь к атаке извне.

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

«Я составила первоначальный план действий», – сказала она, её голос прозвучал чётко, нарушая музыкальное заклинание ночи. – «Завтра утром, до прихода команды, я начну трассировку тех запросов. Нужно найти исходную точку. Это приоритет».

Он перестал играть, откинулся на спинку табурета.

– Приоритет, – повторил он.

– А что насчёт приоритета на сон? Или на… не-работу?»

– Это и есть не-работа, – она села на диван напротив, поджав под себя ноги. – Это устранение угрозы работе. И нашему покою. По сути, одно и то же».

– Практично, – усмехнулся он. – А если эта угроза… не техническая?»

Она посмотрела на него пристально. Синий отблеск экранов давно погас, и в её глазах теперь читалось только внимание.

– Любая угроза в цифровую эпоху имеет техническую составляющую. Даже если мотив – личная месть или зависть, инструмент – код, уязвимость, бот-сеть. Найти инструмент – найти дирижёра.

– Дирижёра фальшивого оркестра, – тихо сказал Виталий, глядя на свои руки на клавишах.

Она замолчала, обдумывая метафору. Потом кивнула.

– Да. Именно. И у этого дирижёра… должен быть слух. Чувство слабого места. Он ударил не по статистике, а по репутации. По доверию. Это тонко. Это…

– …знание материала», – закончил он за неё.

В воздухе повисло тяжёлое, общее понимание. Это не случайный хакер. Это кто-то, кто понимает, как устроен их мир. Их успех. Их слабости.

– Завтра, – повторила Натали, вставая. – Мы начинаем. А сейчас… Она сделала шаг к нему, и её рука на мгновение легла ему на плечо. Жест был странно нерешительным, почти робким.

– Сыграй что-нибудь. Только без фальшивых нот. Мне нужен… чистый сигнал. Для калибровки.

Он посмотрел на её руку, потом ей в глаза. И начал играть. Самую простую, чистую, почти колыбельную мелодию из той самой тетради. Ту, что Сони, кажется, любила больше всего. Музыку, в которой не было ни расчёта, ни защиты, ни стратегии. Только тихая, упрямая нежность.

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

След в логах

Синий час. То время перед рассветом, когда город затихает, выдыхая, и даже светящиеся рекламные билборды кажутся приглушёнными, уставшими. Именно в этот час Наталия была наиболее эффективна. Мир не отвлекал. Её собственный мозг, отдохнувший за четыре с половиной часа строго контролируемого сна, работал с чистотой отточенного скальпеля.

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

Лабораторные условия, – подумала она. Изолируем переменные.

На первом ноутбуке горел терминал с тёмной темой. Беглые строки команд мелькали и замирали. Она вела трассировку – методично, как когда-то проверяла многоуровневые финансовые проводки в поисках одной пропавшей копейки. Её пальцы летали по клавиатуре беззвучно, мембранные клавиши не выдавали ни щелчка, ни жалобного писка. Тишину нарушал только почти неслышный гул системы охлаждения.

Внутренний монолог Наталии:

Исходная точка – сообщения в паблике. Репост из более узкого чата sysadmins. Найти первоисточник. Автор «Nexus». Никнейм. Не личность. След. Первый лог с аномальным запросом был 11 дней назад. Время – 03:47 UTC. Пик низкой активности пользователей «ИдеалМатч». Маскировка под фоновый процесс. Неуклюже. Слишком «ровное» время. Нарочито. Или… оставлено как намёк?

Она переключилась на второй ноутбук. Там был запущен самописный скрипт визуализации сетевых соединений. Он вылавливал не данные, а метаданные о запросах: откуда, куда, какой «вес», через какие узлы проходил пакет. На экране медленно вырастала причудливая паутина, похожая на нервную систему какого-то фантастического существа. Большинство линий сходились в знакомые кластеры – облачные сервера «Resonance», CDN, точки обмена трафиком. Но одна… одна тонкая, почти прозрачная нить вела в сторону, которая не должна была существовать.

Она увеличила масштаб. Нить упиралась не в сервер, а в зашифрованный прокси-каскад, так называемую «луковую» маршрутизацию. Классика для того, чтобы замести следы. Но и у классики есть паттерны. У каждого каскада, даже самого сложного, есть точка входа и точка выхода. И выход этот…

Наталия замерла. Геолокация точки выхода была размыта, подделана. Но временная метка пакета, прошедшего через этот каскад… Она почти совпадала с временем аномального запроса из логов sysadmin-а. Разница в 1.3 секунды. В пределах погрешности передачи данных.

Не совпадение. Корреляция. Сильная.

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

Третий ноутбук был её «чистой зоной». Там она начала строить досье. Не на человека. Пока нет. Насубъект угрозы. Новый файл. Заголовок: «Проект «Фантом». Досье №1».

Она начала записывать, её мысли мгновенно облекались в тезисы:

СУБЪЕКТ: Условное обозначение «Фантом».

МЕТОД: Использование legacy-инфраструктуры («ИдеалМатч») как канала атаки. Цель – не кража данных, не вывод из строя. Цель – дискредитация через ассоциацию. Подрыв доверия к новой платформе («Resonance») путём демонстрации «возврата» к старой, токсичной.

ТЕХНИЧЕСКИЙ ПОЧЕРК: Высокий уровень. Знание архаичных API «ИдеалМатч». Умение работать с каскадными прокси. Но… оставляет следы. Временная синхронизация, неуклюжая маскировка под фоновый процесс. Возможны два варианта:

1) Нарочитая демонстрация («Я здесь, поймай, если сможешь»).

2) Спешка. Либо пренебрежение мелочами.

ПСИХОЛОГИЧЕСКИЙ ПОРТРЕТ (предварительный): Знаком с историей «ИдеалМатч» и «Resonance». Имеет личную или профессиональную мотивацию. Не стремится к мгновенному, громкому взрыву. Предпочитает медленную, разъедающую тактику. Ценит изящество, сложность. Возможен нарциссический компонент («посмотреть, как они бегают»).

Она остановилась, перечитала. «Психологический портрет». Год назад она бы высмеяла саму себя за такой ненаучный, спекулятивный подход. Но год с Виталием, с его бесконечными разговорами о «паттернах в хаосе», о «музыке поступков», научил её смотреть чуть дальше чистого кода. За каждым алгоритмом стоит архитектор. У архитектора – мотив.

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

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

Когда он спустился, взъерошенный и прекрасный в своей сонной нелепости, она была уже у кофемашины, делая два американо. Его – крепкий. Её – с двойной порцией воды.

– Нашла след? – спросил он хрипло, принимая дымящуюся чашку. Его пальцы коснулись её пальцев. Тёплые. Всегда тёплые.

– Да, – ответила она, отводя взгляд к окну, где небо начинало сереть. – Он есть. Технический. Ведёт в никуда, но сам факт… подтверждён.

– И что дальше, Шерлок?

– Дальше – проверка гипотезы о мотиве. Нужен доступ к закрытой информации. К кадрам.

Она сделала паузу, давая ему понять.

– Кадрам? – он прищурился. – Ты про… старые архивы «ИдеалМатч»? Про тех, кого уволили после нашего… скандальчика?

– В том числе. Но в первую очередь – про тех, кто ушёл сам. До того. Кто мог испытывать… профессиональную обиду. На провал алгоритма. На мою роль в этом провале.

Виталий присвистнул, отпивая кофе.

– Жестко. И эффективно. Ты думаешь, наш «Фантом» – обиженный гик?

– Гик – да. Обиженный – весьма вероятно. Но не просто гик. Тот, кто считал старый алгоритм не провалом, а… недооценённым шедевром. Кто видит в нашей истории не торжество хаоса над порядком, а ошибку системы. Которую нужно исправить. Путём дискредитации ложного успеха.

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

– Максим, – тихо произнёс Виталий, как будто прочитав её мысли.

Она кивнула. Одним резким движением.

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

– Что нужно?

– Доступ к его цифровому следу за последний год. Не к личной переписке. К публичной активности. Коды его пет-проектов на GitHub, статьи, комменты в профессиональных чатах. Всё, что можно собрать легально, через открытые источники. И… его резюме. Куда он устраивался после ухода.

Виталий смотрел на неё, и в его глазах читалось странное сочетание восхищения и тревоги.

– Ты превращаешь жизнь в расследование. Нас – в мишени, его – в подозреваемого.

– Нет, – холодно парировала она. – «Он» сам выбрал эту роль, когда начал игру. Я просто начинаю играть по его правилам. Только мои правила – строже. И основаны на данных.

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

– Хорошо, – сказал Виталий, ставя пустую чашку с решительным стуком. – Пет-проекты, комменты, резюме. Я займусь этим. У меня есть… источники. Неофициальные. – Он имел в виду Лешего и ту самую сеть знакомств в кафе «Байт». – А ты?

– Я пойду другим путём, – сказала Наталия, уже собирая ноутбуки. – Если «Фантом» использует «ИдеалМатч» как плацдарм, значит, у него есть доступ к его ядру. К старому коду. Нужно найти, где это ядро сейчас физически находится. На каком сервере дремлет. И кто имеет к нему ключи.

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

Это был не романтический союз двух половинок. Это былтактический альянс. Она шла по следу в данных. Он – по следу в человеческих связях и цифровом фольклоре. Две разные мелодии, написанные для одной симфонии защиты.

– Натали, – вдруг сказал он, не двигаясь с места. – А что, если мы ошибаемся? Что если это не Максим? Что если это… что-то большее?

Она уже повернулась к лестнице, чтобы переодеться, но замерла.

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

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

Он пока оставил рояль в покое. Вместо этого он взял планшет и написал Лешему:

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

Ответ пришёл почти сразу, как будто Леший ждал:

Леший: О, начинается самое интересное. Будет через пару часов. Цена – рассказ. Интересный. Когда всё кончится.

Виталий усмехнулся. Цена была справедливой. Он посмотрел наверх, откуда доносился звук открывающегося шкафа. Их день, их война, их странный, прекрасный дуэт – всё только начиналось. И первый акт уже был написан призраком. Теперь настала их очередь вписать в партитуру свой ответ.

Чёрный лебедь в статистике

Звонок раздался ровно в 10:07 утра. Не на её личный, не на рабочий, а на «горячую линию доверия» – специальный номер, который висел на сайте «Resonance» для экстренных обращений пользователей. Наталия, проводившая планерку с отделом аналитики, увидела всплывающее уведомление на умных часах. Было правило: если на этой линии больше двух звонков за час – это инцидент.

Она извинилась, вышла в стеклянную будку-переговорку и подняла трубку.

– «Resonance», служба заботы, вас слушает Натали, – её голос был ровным, профессионально-тёплым, отработанным до автоматизма.

В трубке послышались прерывистые всхлипы, потом женский голос, сорванный на крик:

– Что вы за монстры?! Вы свели меня с маньяком! Он… он всё про меня знал! Вещи, которых нет ни в одной анкете! Он сказал… сказал, что это ваш «углублённый алгоритм» выдал ему мои страхи! Я чуть не… Вы ответите за это!

Лёд. Острый, тонкий, пронзительный ледок прошёлся по позвоночнику Наталии. Не страх. Нет. Это было нечто иное – чистое, холодноеосознание. Гипотеза начинала подтверждаться в самом худшем из возможных ключей.

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

Пока женщина, назвавшаяся Алиной, сквозь рыдания выкладывала историю о «слишком идеальном» совпадении, о мужчине, который с первых слов угадывал её сокровенные тревоги и тут же использовал их для манипуляций, Наталия одним пальцем открыла на планшете внутреннюю CRM. Вбила имя.Алина С. Профиль всплыл мгновенно. Участница «Resonance» 3 месяца. Прошла 7 квестов. Её «резонанс» – пользователь Марк Т. Совпадение по системе – 78% по шкале «Интерес». Высокий показатель. Они начали общаться 5 дней назад.

Наталия углубилась в логи их взаимодействия. Всё было чисто. Никаких вбросов, никаких внешних ссылок. Только внутренний чат платформы. Но вот содержание… Она прокрутила. И её пальцы похолодели.

Внутренний монолог Наталии:

Сообщение от Марка Т., день 2:

«Ты боишься не оправдать ожиданий, да? Особенно маминых. Чувствую, ты всегда на пределе». Ответ Алины: «Откуда ты знаешь?!».

Сообщение от Марка Т., день 3:

«Ты ведь рисуешь, но никому не показываешь. Боишься, что твой мир назовут детским».

Это не резонанс. Это… психологическое профилирование. Высшего класса. На основе чего? Её ответов в квестах? Квест «Облако»: выбор абстрактных форм. Квест «Звук»: реакция на определённые частоты. Да. Паттерн вырисовывается. Но для такого глубокого анализа нужна не наша база. Нужна… внешняя. Соцсети, форумы, возможно, даже данные старых психологических тестов. «ИдеалМатч» так не умел. Значит, «Фантом» доучил его. Создал гибрид. Наш интерфейс. Его ядро. И чужую базу данных для психпрофилирования.

– Алина, слушайте внимательно, – голос Наталии перерезал всхлипы в трубке. – Я блокирую этот профиль немедленно. Все диалоги сохраняются, мы передадим их в полицию, если вы решите писать заявление. С вашей стороны – смените пароли везде, особенно в почте и соцсетях. Этот человек использовал утечку данных из внешних источников. Наша система была лишь… каналом доставки. Это целевая атака. На вас. И на нас.

Она говорила жёстко, без слащавых утешений. Честность сейчас была важнее успокоения. Пока Алина, притихшая от шока, бормотала согласие, Наталия заблокировала профиль Марка Т. и поставила метку «Критический инцидент. Расследование».

Выйдя из переговорки, она увидела, что планерка уже разошлась. В офисе царила обычная утренняя суета: кто-то спорил о шрифтах, кто-то пил смузи, у стойки с кофе Виталий что-то оживлённо рассказывал двум девушкам из отдела контента, жестикулируя руками. Его смех гремел, как салют. Мир «Resonance». Их мир. Который только что дал первую трещину.

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

– Что случилось? – спросил он, закрывая дверь. Звук уличного шума и офисного гама стих.

– Инцидент. Первая жертва, – отчеканила она, принимая чашку, но не отпивая. – Пользовательница. Её свели не с человеком. С психологическим портретом, составленным на основе слитых данных. Через наш интерфейс.

Yosh cheklamasi:
0+
Litresda chiqarilgan sana:
19 fevral 2026
Yozilgan sana:
2026
Hajm:
240 Sahifa
Mualliflik huquqi egasi:
Автор
Yuklab olish formati: