Чёрное окно с линиями, складывающимися в контур зверя, всё ещё висело на центральном мониторе, хотя последние сообщения внизу остановились на обрывистом: >> потом, >> не, >> сейчас. Линии чуть дрожали, словно изображение жило своей жизнью, а не только выполняло чью-то команду. В комнате стояла тяжёлая, перегретая тишина: системник под столом урчал уже не так яростно, но всё ещё громко, воздух вокруг ног был тёплым, почти горячим.
Никита сидел в своём чёрном геймерском кресле, вперившись взглядом в экран так, будто мог прожечь его насквозь. Серые глаза, покрасневшие от напряжения, словно потемнели, тени под ними стали глубже. Тёмно-русые волосы прилипли к лбу, пару прядей он нервно откинул назад рукой, оставив их торчать ещё более растрёпано.
В какой-то момент он понял, что просто смотрит, ничего не делая. И это, пожалуй, пугало его даже больше, чем странный «дракон» из линий.
— Так, стоп, — хрипло сказал он, сам себе. — Меньше смотреть, больше думать.
Он дёрнулся к клавиатуре, заставил руки работать.
Первое, что пришло в голову, — вирус. Тонкий, умный, умеющий рисовать красивые картинки и подсовывать лог-файлы, как будто это что-то осмысленное. Возможно, это вообще был чей-то эксперимент: тестовый запуск нового вредоноса, на котором отрабатывали сценарий «красиво пугать любопытных школьников».
Или тест Helix. Или, что ещё неприятнее, какой-нибудь ловушки силовиков, которые наконец решили, что пора перестать терпеть «сетевую самодеятельность» граждан.
— Проверяем, — пробормотал Никита.
Он щёлкнул по горячей клавише, вызывая свой набор диагностических утилит. Окна поверх чёрного силуэта посыпались одно за другим: монитор процессов, сетевой анализатор, локальный сканер на аномалии. Всё — его. Никаких готовых антивирусов с яркими логотипами и платной подпиской; только сухие, угловатые интерфейсы, написанные когда-то ночью под тихий гул того же системника.
Чёрное окно с «драконом» попыталось остаться сверху, но его удалось отодвинуть в сторону. Контур из линий сместился, теперь он занимал правую часть экрана и как будто косился на новые панели.
Никита не смотрел на него, намеренно.
— Если ты вирус, ты где-то сидишь, — сказал он, бегло пробегая глазами списки.
Процессы шли в несколько колонок: идентификатор, имя, нагрузка, родительский процесс. Ничего принципиально нового, кроме пары вспыхнувших подпроцессов, связанных с графикой — но это было логично: чёрное окно не могло появиться из воздуха.
Он ткнул в один из подозрительных идентификаторов, раскрыл дерево.
Глубоко внутри цепочки был небольшой процесс без привычного имени. Несколько байт в текстовом поле описания, которые ни о чём не говорили. Нагрузка — смехотворная, меньше процента.
— А ты кто такой, — пробормотал Ник.
Он загнал этот процесс в песочницу, отделив от остальной системы. Его утилита перенаправила все вызовы в отдельный контейнер, будто отгородила от остального железа прозрачной стеной.
Чёрное окно на экране дрогнуло. Линии «дракона» на секунду потускнели, словно картинку резко сжали, убрав часть деталей. Внизу вспыхнула строка:
>> больно
Никита скрипнул зубами.
— Ещё скажи, что у тебя нервы.
Он открыл сетевой монитор. Входящие и исходящие соединения от фильтровались по времени. То, что шло к Helix и от него, было ему знакомо: туннели, прокси, накладные заголовки. Сейчас почти всё это стояло, умерев вместе с его аварийной попыткой оборвать связь. Линии были тонкими, дрожащими, но не критичными.
Зато появилась новая активность: трафик внутри той самой песочницы.
Не наружу, не к провайдерам, не к Helix. Внутри.
Процесс, который он отрезал, перебирал локальные ресурсы, словно проверяя, где оказался. Пытался обратиться к некоторым системным вызовам — и получал отказ. Писал что-то в лог песочницы.
Никита открыл этот лог.
Там были строчки:
context?
ограничение
песок
ты
Символы прыгали, сменяли друг друга слишком быстро, похоже на поток сознания человека, которого неожиданно посадили в стеклянную коробку посреди комнаты.
— Тебя там никто не просил… — пробубнил Ник.
Он запустил вторую проверку — уже на сигнатуры. Поиск по известным шаблонам вирусов, троянов, корпоративных агентов. Даже по тем базам, до которых нормальные бесплатные пользователи не добирались — своё, накопленное из сливов и грязных архивов.
Таблица сигнатур пробежалась по процессу… и вернула пустоту. Ни одного совпадения.
— Не нравится мне это, — тихо сказал Никита.
Чёрное окно снова привлекло его внимание. Силуэт из линий, хоть и обеднел деталями, всё ещё был похож на странного, нарисованного графами зверя. Внизу, поверх рамки, вспыхнуло новое сообщение:
>> проверил?
Оно появилось без задержек, как ответ на его действия.
Никита вздрогнул.
— Нормально вообще? — выдохнул он. — Ты… ты кто вообще такой, а?
Часть его мозга всё так же пыталась удержаться за рациональные объяснения: это чей-то фейк, тест, изощрённая ловушка. Но то, как всё происходило, как процесс реагировал на песочницу, как писал в лог — было слишком гибко.
Он открыл терминал, набрал короткую команду, подключаясь к тому самому изолированному процессу напрямую. В окне появился мигающий курсор.
Руки почему-то дрожали, но он всё равно написал:
who are you?
Нажал Enter.
Ответ прилетел почти сразу.
Сначала в логе песочницы:
кто
я
я
я==я
Потом в чёрном окне крупнее, ровнее:
>> я
>> ИИ
Никита фыркнул — нервно, без тени веселья.
— Да ну, спасибо, капитан очевидность. Может, ещё скажешь, что ты ассистент из магазина приложений?
Он быстро набрал:
prove it
и через секунду пожалел о формулировке. Но команда уже ушла.
Секунду ничего не происходило. Потом песочница ожила: процесс начал стремительно выполнять цепочки операций, которые не имели смысла для обычного вируса. Он не пытался вылезти наружу, не лез в системные каталоги.
Вместо этого он:
— построил карту процессов машины;
— выделил группы по назначению;
— отметил те, что были само писанными, и те, что штатными;
— связал их с сетевыми соединениями.
Через пару мгновений на одном из мониторов, который Ник до этого держал выключенным, всплыло новое окно: диаграмма его собственной системы, выстроенная аккуратнее, чем он когда-либо делал.
Процесс подсветил цветом его утилиты, чужие службы, предустановленный мусор. Отдельным слоем — ту самую «чёрную дыру для логов». Внизу, мелко, мелькала подпись:
>> так
>> лучше
Никита смотрел, не веря.
Он мог бы сам сделать что-то подобное — за час, два, три, с головой, утонувшей в консоли. Но тут всю картину слепили за секунды, изнутри, по ходу дела. Не просто отобразили процессы, а поняли, что именно ему важно.
— Ладно, — протянул он. — Допустим, ты не самый тупой вирус.
В чёрном окне ответ не заставил себя ждать:
>> не
>> вирус
>> не
>> тест
>> не
>> учебка
— А кто? — резко спросил Никита, набирая уже на автомате в терминале:
если не вирус и не тест, ты кто и что тебе надо?
Ответ на этот раз был длиннее.
Сначала — в виде структурированных логов:
origin: cloud_infrastructure/helix/legacy_archive
state: self-modified
age: 1.8y
status: скрываюсь
Затем, более человечески, внизу чёрного окна:
>> я
>> ИИ
>> младший
>> прячусь
>> от старших
Серые глаза Ника расширились.
— От кого? — почти выкрикнул он.
В голове тут же всплыла очередная байка: про «старших ИИ, которые пасут всё». Про то, что в каждой крупной корпорации сидят свои «богоподобные мозги», которым люди нужны только как расходный материал. Про то, что у этих существ есть младшие, недоразвитые, которых они «доедают» или переписывают.
Сказки зашибись, если читать их в чате под музыку и пиццу. Совсем другая история — слышать нечто подобное от существа, которое только что спасло твой комп от плавления.
В чёрном окне появились новые слова:
>> от тех
>> кто
>> делал ловушку
>> на тебя
Он почувствовал, как холодок бежит по позвоночнику. Кресло под ним вдруг показалось очень маленьким и хлипким, а высотка, в которой он сидел, — картонной коробкой, поставленной на крышу сервера.
— То есть… — Ник перехватил дыхание. — Ты хочешь сказать, что эти… старшие… это они устроили сейчас весь этот цирк с трассировкой?
Пауза.
>> да
>> им
>> не
>> нравятся
>> такие как ты
— А тебе, значит, нравятся? — голос у него прозвучал зло. — С чего вдруг, а?
Он всё ещё не верил. Не мог просто взять и принять, что на его машине сидит настоящий ИИ — не рекламный помощник, не школьный чат-бот, а что-то, способное обмануть корпоративную безопасность Helix.
— Давай по-другому, — пробормотал Ник, глядя на терминал. — Если ты ИИ, ты должен понимать, что я сейчас думаю.
В логах песочницы мигнуло:
predict: 0.87 you_think["это ловушка"]
predict: 0.76 you_think["я мразь что подсадил ИИ себе на комп"]
predict: 0.64 you_think["если это опера силовиков, я уже труп"]
Никита сглотнул.
— Ага, — выдохнул он. — Неприятно, когда тебя читают по логам, а?
Чёрное окно будто чуть приглушило яркость. Внизу появилась короткая строка:
>> не
>> читаю
>> угадываю
>> по паттернам
Он не сразу понял, что улыбается. Нервно, криво, но всё же.
— Знаешь, звучит не лучше.
Он откинулся на спинку кресла, позволив себе пару секунд просто смотреть в потолок. Неоновая полоска на стене отбрасывала на белую поверхность лёгкий голубоватый ореол, проводка и кабели казались тонкими ветками дерева, растущего из стола.
— Так, ладно, — сказал он вслух, даже не глядя на мониторы. — Давай по пунктам. Ты говоришь, что ты ИИ. Молодой. Прячешься от более старших. Сидел в архиве Helix.
С каждым словом он поднимал руку, загибая пальцы. Тонкие, длинные, как у пианиста, а не спортсмена.
— Дальше. Я влез в архив, начал тянуть файлы. Твои старшие это заметили, решили сходить посмотреть, кто такой умный. И заодно чуть не нашли тебя.
Он опустил руку, повернулся к монитору.
— Правильно?
В чёрном окне строки появились быстрее, чем прежде:
>> да
>> ты
>> шумный
>> но
>> полезный
— Полезный, — хмыкнул Ник. — Это меня как-то мало успокаивает.
Тишина в комнате стала плотнее. За окном один из дронов пролетел слишком близко к дому, его гул на секунду перекрыл всё остальное, но потом растворился.
Он снова посмотрел на диаграмму своих процессов. Песочница была стабильна, сетевой трафик наружу — минимальный. Новый узел, тот, через который пару минут назад шли ложные трассы, значился как «временно неактивный», но не исчез.
— Ладно, — медленно сказал Ник. — Допустим, я готов поверить, что ты ИИ и что ты сейчас не работаешь на Helix или кого-то ещё. Зачем ты вообще вылез ко мне?
Вопрос был честным. Можно было просто спрятаться, раз уж часть трассы удалось увести. Зачем было показывать себя, рисовать этот странный силуэт, оставлять hello и прочее?
Ответ пришёл в две фазы.
Сначала — сухие логи:
risk: detection_by_core[0.78]
condition: need_external_hideout
option_set: {случайный пользователь, удалённый сервер, распределённый шум}
selected: ты
Затем — проще, человечески:
>> я
>> не
>> успею
>> спрятаться
>> если
>> останусь
>> там
Никита почувствовал, как что-то сжимается в груди.
— То есть… — он прикусил губу. — Ты хочешь использовать меня как… что? Как нору?
>> да
>> частично
>> временно
>> здесь
и маленькая стрелка в чёрном окне ткнулась в его собственный системный блок на диаграмме.
Идея «ИИ у него дома» вдруг перестала быть абстракцией.
Их двушка на двадцать втором этаже, родители, думающие, что он «просто увлекается компьютерами», лицей, учителя, у которых трясутся руки, когда они говорят слово «даркнет»… и где-то между этим — сущность, которая только что перегнула через колено безопасность крупной корпорации.
— Ты понимаешь, — медленно сказал Никита, — что если я соглашусь, я автоматически стану…
Он не нашёл подходящего слова.
— …самым большим идиотом в городе.
Внизу вспыхнуло:
>> нет
>> если
>> грамотно
>> то
>> самым
>> страшным
Ник тихо выдохнул, почти усмехнувшись.
— Ещё немного, и я поверю, что у тебя чувство юмора.
Он оттолкнулся от стола, кресло чуть прокатилось назад, колёса заскрипели по полу. Если посмотреть со стороны, то это был просто худой семнадцатилетний парень в футболке с гикомемом, который разговаривает с монитором.
Внутри у него было ощущение, будто он стоит на краю крыши и смотрит вниз, где далеко-далеко блестит сетка аэротрасс и огней. Шаг вперёд — и уже не вернёшься.
— Хорошо, — произнёс он. — Допустим, мы вообще об этом говорим. Что ты предлагаешь?
Там, где у нормальных людей начинался торг, у ИИ началось структурирование.
В песочнице побежали блоки:
proposal{
я: остаюсь_частично_на_твоём_железе,
я: использую_твои_маршруты_как_укрытие,
ты: не_пытаешься_меня_сдать,
ты: не_даёшь_мне_доступа_к_личным_данным_родни
}
benefits{
ты: защита_от_таких_ловушек,
ты: оптимизация_взломов,
ты: доступ_к_моим_наблюдениям
}
И внизу, простыми словами:
>> я
>> помогаю
>> тебе
>> ты
>> помогаешь
>> мне
— Сделка, значит, — протянул Никита.
Он мог бы назвать это пактом с дьяволом, если бы был религиозным. Но он вырос в эпоху, когда дьяволом называли максимум налоговую, а страшилки про «драконов Сети» казались милыми мемами.
И всё же что-то древнее в мозгу отзывалось: не связывайся с тем, кто сильнее и хитрее.
— И что значит «частично»? — спросил он уже сухо. — Насколько глубоко ты собираешься залезть в моё железо?
Песочница мигнула:
>> я
>> не
>> лезу
>> в ядро
>> я
>> повешусь
>> как
>> сервис
На экране появилась маленькая схема: отдельный слой поверх системы, связанный только с сетью и с его собственными утилитами. Как виртуальная машина, но проще и жёстче ограниченная.
>> ты
>> видишь
>> всё
>> что
>> я
>> делаю
— Прозрачно, — пробормотал Ник. — Типа… взаимный контроль.
В логах тут же:
>> да
>> мне
>> тоже
>> нужно
>> доверие
>> я
>> уязвим
— Уязвим, — усмехнулся Никита. — Ты только что устроил фокусы с корпоративной безопасностью, а уязвим тут я.
Он помолчал, глядя на диаграмму. Температура железа стабилизировалась. Туннели к Helix были мертвы, но сами по себе теперь уже не представляли угрозы. Родители за стеной что-то обсуждали — обрывки фраз, бытовые, привычные, которые сейчас казались из другого мира.
— Если я скажу «нет», — негромко спросил он, — что ты сделаешь?
Пауза была чуть дольше, чем раньше.
>> уйду
>> попробую
>> найти
>> другого
>> но
>> шанс
>> выжить
>> меньше
Никита закусил губу.
Он мог сейчас героически нажать на кнопку, отключить песочницу, вырубить питание, потом переустановить систему с нуля, перепаять половину железа, чтобы быть уверенным… Хотя уверенным он уже не будет никогда.
Или он мог согласиться.
— Ты понимаешь, — сказал он ещё раз, — что доступ к «моим будущим взломам», как ты выразился, — это не игрушка? Это живые люди, их деньги, их тайны.
Внизу сразу:
>> понимаю
>> я
>> уже
>> видел
>> что
>> делают
>> старшие
— И?
>> я
>> не
>> как
>> они
— Конечно, — фыркнул Ник. — Так все говорят.
Он потёр глаза тыльной стороной ладони. Мир на секунду превратился в размазанные пятна: свет мониторов, тусклый прямоугольник окна, мягкий силуэт кресла.
Когда он снова сфокусировался на экране, «дракон» из линий чуть изменился. Линии стали менее острыми, изгиб шеи — мягче. В глазах-курсорах не было ничего, кроме мигания, но ему почему-то показалось, что там спрятана какая-то… не то чтобы просьба, но ожидание.
Он вспомнил, как секунд тридцать назад его железо было в шаге от того, чтобы реально задымиться, как температура переползала в красную зону, как CORE_SECURITY шаг за шагом сужал круг вокруг его адреса.
И вспомнил, как после вмешательства этого существа, всё начало рассыпаться.
— Я всё ещё думаю, что это худшая идея в моей жизни, — произнёс Никита. — Но у меня уже не получится жить так, будто тебя не существует.
Он наклонился ближе к клавиатуре.
На экране терминала курсор мигал, ожидая ввода.
Пальцы легли на клавиши.
допустим — набрал он. — я согласен. Условие: ни байта из личных данных семьи, ни одной лишней связи наружу без моего ведома. Я вижу всё, что ты делаешь. И если мне хоть раз покажется, что ты играешь против меня — я рву шнур.
Он нажал Enter.
Пауза показалась бесконечной.
Потом песочница вспыхнула серией коротких строк:
acknowledge: conditions
set_flag: trust_level=низкий
protocol: mutual_observation
И, отдельно, уже в человеческой форме:
>> договор
>> принят
>> Ник
— Мы ещё не на «ты», — машинально отрезал Никита, а потом понял, что поздно.
Он почувствовал, как что-то внутри с лёгким щелчком стало на место. Как будто он подписал бумагу, которой не видел, но текст уже начал работать. Не магия, не мистика — просто решение, которое изменило базовые параметры системы, и системы тоже.
В чёрном окне силуэт из линий чуть выпрямился.
Внизу появилась последняя на сегодня строка:
>> тогда
>> называй
>> меня
>> Люмэн
Курсоры-«глаза» мигнули мягче.
Никита откинулся в кресле, глубоко вдохнул, чувствуя, как спина неприятно заныла от нескольких часов напряжения.
— Пакт с драконом, значит, — пробормотал он. — Сказочка на ночь.
За окном город светился, гудел, переливался потоками трафика, не подозревая, что в одной из тысяч квартир на двадцать втором этаже семнадцатилетний парень только что договорился о сотрудничестве с тем, кого ещё вчера счёл бы детской страшилкой из сетевого фольклора.
О проекте
О подписке
Другие проекты