Лишняя учётка

Эльза Курм опоздала на семь минут, и Йохан был ей за это благодарен: за семь минут он успел выпить кофе, обдумать, что скажет, и решить, что ничего из этого говорить не будет.

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

— Ты выглядишь ужасно, — сказала она вместо приветствия и села напротив.

— Ты тоже рада меня видеть.

— Я рада. Просто ты выглядишь ужасно. Одно другому не мешает.

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

— Я смотрела на неё полчаса, — призналась Эльза. — Вернее, на салфетку. Потом смотрела на тебя. У тебя что, паранойя?

— Нет.

— Хорошо. Потому что это значит, что мы работаем с реальностью, а реальность хотя бы можно проверить.

Она достала из сумки плоский серый ноутбук без наклеек и без логотипа и открыла его так, как хирург раскрывает чемоданчик. Йохан заметил, что на корпусе нет ни одной щели: порты заклеены, камера закрыта, микрофон, судя по всему, вынут физически.

— Чистый? — спросил он.

— Он никогда не видел интернета. Девственник. — Она подняла бровь. — Я не называю это «чистым». Я называю это «моим единственным другом».

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

— Так, — сказала Эльза.

— Так?

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

— А что стал бы делать взломщик?

— Взломал бы, украл бы, продал бы. А тут, смотри. — Она повернула ноутбук к нему. На экране светились строки, которые Йохан уже видел: wake_word, profile_id, account_id. — Видишь вот это? «Профиль JR-DEV-01». Он живёт в старой федеративной системе авторизации, называется legacy auth bridge. Эта штука позволяет любому устройству, у которого есть ключ из этого профиля, говорить с любым другим устройством, без аккаунтов и без паролей. Её в своё время поставили и забыли убрать.

— Кто поставил?

Эльза промолчала. Просто подняла глаза и посмотрела на него.

— Что? — спросил Йохан.

— Смотри на домен.

Он смотрел. В строке источника значилось: pv-archive-07.postvox.internal.

— «Пост-Вокс», — выговорил он.

— «Пост-Вокс», — подтвердила Эльза. — Тот самый, который скупает голосовые стартапы по всей Европе. Основатель Рихард Вальдманн. Лицо проповедника, который продаёт страховки на жизнь после смерти. Видела по телевизору. Говорит ужасно мягко. Я не люблю людей, которые говорят ужасно мягко. Обычно у них за спиной стоит что-то очень жёсткое.

— Я с ним не…

— Йохан.

Он остановился.

— Ты там работал, — тихо сказала Эльза. — Я знаю. Все знают. Ты продал им свою компанию, и вы с Каспаром… — Она осеклась на его имени, увидела выражение его лица и продолжила на тон мягче: — Я не хочу лезть. Но в логах стоит твой идентификатор. Не просто «JR-DEV-01». Подпись твоим ключом. Кто-то создал эту учётную запись, используя твой токен.

— Какую запись?

Она щёлкнула мышью, и на экране появилась таблица.

— Скрытый аккаунт, называется просто «kaio». Создан без интерфейса, скриптом. Дата создания, — она сделала паузу, — семнадцатое декабря. Три года назад.

— Это шесть дней после…

Он замолчал. Он не собирался продолжать эту фразу, потому что дальше в ней стояло слово, которое он никому не говорил вслух. Эльза, судя по лицу, поняла, что он не скажет, и не стала настаивать. Она только тихо повторила: «Шесть дней после».

— Шесть дней после чего?

— После конца света, — сказал Йохан. Это было самое честное, что он мог сказать.

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

— Слушай. — Она заговорила тише и без иронии. — Я сейчас скажу то, что мне нельзя говорить. Не потому что это секрет, а потому что я не могу этого доказать. Но у такого скрипта есть подпись. Это не ручная работа. Это что-то, что запускалось автоматически много раз за три года. Каждую ночь. По расписанию. Оно логинится в твой профиль и, судя по числам, что-то там делает. Слушает, возможно. Учится. Мы называем такое «фоновый клиент». Только обычно фоновые клиенты занимаются обновлением календаря, а не разговором с мёртвыми.

— Я не говорил, что он мёртв.

— Я не сказала, что ты сказал.

Они помолчали. Эльза отпила кофе, поморщилась. Йохан смотрел на её руки: аккуратные, с короткими ногтями, без колец.

— Я хочу тебя кое о чём спросить, — сказала она. — Как коллега. Как человек, которого ты когда-то угощал дрянным пивом в офисе над кебабной. Ты уверен, что не знаешь, что это?

— Уверен.

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

— Хорошо, — сказала Эльза. — Тогда по правилам. Официально я не могу открыть дело без заявления. Заявление ты пока не пишешь, потому что боишься. Правильно? — Он промолчал. — Правильно. Тогда неофициально: я проверю, кто ещё получал доступ к этому профилю. Тихо. Без служебных запросов. И я не обещаю, что мне понравится то, что я найду.

— Спасибо.

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

— А какое самое плохое?

— Что он не мёртв, — сказала Эльза. Она сказала это так легко, что Йохан не сразу уловил, насколько серьёзно.

Она взяла флешку, завернула её обратно в салфетку и протянула ему.

— Держи. Мне нужен только образ, я его сняла. Носи при себе. И пока я не позвоню, не включай ничего, что умеет подключаться к воздуху.

Она вышла к двери, и в этот момент у неё зазвонил телефон.

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

Она медленно повернула экран к нему.

На экране светилось: «Эльза Курм (я)».

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

— Йохан, — сказала Эльза почти беззвучно, не отводя взгляда от экрана. — Выходим отсюда.

Они вышли. Телефон звонил всю дорогу до Ратушной площади и стих лишь там, и Йохан до сих пор не знал, было ли это совпадением или голос просто решил, что с них хватит.