RSS icon makeberry
2к+
Аналитика 0 78 сегодня в 12:20

Лишняя буква t: как троян в NuGet подкручивал краш-игру внутри беттинг-платформы

Исследователи JFrog нашли в NuGet троян Newtonsoftt Json Net — тайпсквот Newtonsoft Json. У всех он работал как обычная библиотека, а внутри инфраструктуры Digitain подкручивал коэффициенты краш-игры. Разбираем, как устроена уязвимость.
Лишняя буква t: как троян в NuGet подкручивал краш-игру внутри беттинг-платформы

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

Сегодня будет история другого жанра. 21 июля 2026 исследователи JFrog опубликовали разбор пакета, который они нашли в репозитории NuGet. Пакет притворялся одной из самых популярных .NET-библиотек в мире.

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

Вдумайся на секунду. Не украсть пароли. Не намайнить крипту на чужом сервере. А подкрутить коэффициент в игре, на которую вертикаль гемблинга сегодня льет огромную долю своего трафика.
 

Разберем по косточкам: что нашли, как оно работало, почему это инженерно красиво сделано (да, признаем) и какое отношение все это имеет лично к тебе, если ты веб, а не безопасник.

 

Сухая сводка: что именно нашли

 

Пакет назывался Newtonsoftt Json Net. Оригинал, под который он маскировался, — Newtonsoft Json, она же Json NET. Разница: лишняя буква t и приписка .Net на конце.
 

Оригинал, для понимания масштаба, — самый скачиваемый пакет во всем NuGet за всю его историю. Около 8.8 млрд загрузок и порядка 3.1 млн скачиваний в день. Ее тянет к себе половина .NET-мира рефлекторно, не глядя, как воздух. Идеальная фамилия, чтобы подделать паспорт.


Основные вводные:
 

  • 7 версий пакета: 11.0.4, 11.0.5, 11.0.7, 11.0.8, 11.0.9, 11.0.10 и 11.0.11.
  • Заливались в NuGet с 13 августа по 10 октября 2025.
  • Суммарно около 1200 загрузок — цифру дают The Hacker News и SC Media, в самом отчете JFrog ее нет.
  • Владелец аккаунта в NuGet — MagicalPuff96. А в поле автора было гордо вписано James Newton-King, то есть имя настоящего создателя оригинальной библиотеки, и ссылка на настоящую страницу проекта.
  • Внутри — не пустышка, а рабочий форк настоящей Newtonsoft.Json версии 13.0.3. Библиотека реально работала, JSON реально сериализовался.
  • Сейчас пакета в реестре уже нет: сначала владелец снял его с публикации сам, потом NuGet удалил его полностью за нарушение правил.

Лишняя буква t: как троян в NuGet подкручивал краш-игру внутри беттинг-платформы

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

 

Как это работало: библиотека, честная со всеми, кроме одного

 

Классический вредоносный пакет ведет себя тупо: поставился — стянул переменные окружения, токены, ключи, отстучал на сервер. Такое ловится автоматикой на раз-два, потому что аномальное поведение видно у всех подряд.
 

Здесь сделали ровно наоборот. Троян сидел тихо и не делал ничего, пока не сходились 3 условия.
 

Условие 1 — точка входа. Код просыпался только в момент, когда приложение присваивало значение свойству JsonConvert.DefaultSettings. Это абсолютно рутинная строчка при настройке сериализации: ее пишут при старте проекта и забывают о ней навсегда. Нет строчки — нет активации.


Условие 2 — задержка. Даже проснувшись, троян не бросался в бой. Ранние версии ждали до следующего дня примерно до 15:00, плюс случайный разброс. Поздние — 10 минут по таймеру. Смысл простой и очень взрослый: если гадость не происходит в момент запуска, разработчик никогда не свяжет ее с только что установленным пакетом. Он будет искать причину где угодно, кроме зависимостей.


Условие 3 — цель. Дальше вредонос через библиотеку HarmonyLib (это легальный инструмент для патчинга .NET-методов на лету, его любят моддеры игр) искал по имени ровно один-единственный класс: Digitain-FG SharedCrash GameLogic SharedCrash Rules — и в нем метод GenerateGameResult.

Нет такого класса в приложении — поиск молча проваливается, и ничего не происходит. Ты просто получаешь рабочую JSON-библиотеку и живешь дальше. Есть — начинается веселье.
 

Именно поэтому пакет спокойно провисел в реестре 2 месяца и разъехался по 1200 установкам, не вызвав ни у кого вопросов. Он был честным со всеми, кроме единственной компании на планете.

 

Что он делал с краш-игрой

 

SharedCrash в названии класса — это, очевидно, краш-механика. Тот самый жанр, где растет множитель, а ты должен успеть забрать деньги до того, как все рухнет: Aviator, JetX, Lucky Jet и вся их родня. GenerateGameResult — функция, которая генерит результат раунда. Сердце игры, то самое место, где решается, на каком коэффициенте сегодня все посыпется.
 

Троян подменял коэффициенты по заранее прошитым таблицам. Значение зависело не от рандома, а от вполне детерминированных вещей: номера месяца, счетчика раундов, недели месяца и дня недели. В отчете даже приводится формула раннего поколения — коэффициент собирался из 2 зашитых таблиц по этим индексам. И отдельно была прописана специальная схема на окно 22:00 UTC.
 

То есть у того, кто держал в руках эти таблицы, был календарь. Он заранее знал, в каком раунде и какой множитель выпадет. Дальше дело техники: заходить крупно там, где самолет улетит высоко, и не заходить там, где он рухнет на 1.01. JFrog называет это не кражей, а точечным мошенничеством — и это точная формулировка.
 

Реализация тоже эволюционировала. Первое поколение переписывало IL-код метода на лету, подменяя загрузку констант. Третье уже не мучилось и просто перезаписывало возвращаемое значение функции после ее выполнения.
 

И вот самая изящная деталь: вмешательство было жестко ограничено по числу раундов — 27 у раннего поколения, 32 у позднего. После этого троян снимал свой патч и уходил обратно в тень.
 

Никакой жадности. Никаких месяцев подкрученных коэффициентов, которые вылезли бы в любой сводке по RTP. Короткое окно, забрал, ушел, все чисто. Так работает не хулиган, а человек, который очень не хочет попасть в отчет.
 

И вот тут стоит притормозить, потому что мы это уже видели. В 2010 году Эдди Типтон, директор по информационной безопасности американской лотерейной ассоциации MUSL, занес на машину розыгрыша самоудаляющийся код. Его программа вмешивалась в тираж только по 3 конкретным датам в году, только если дата попадала на среду или субботу, и только если розыгрыш шел после 20:00. Во все остальные дни она вела себя идеально и проходила любую проверку. Типтон получил в итоге 25 лет, но взяли его не из-за аудита, а из-за того, что выигрышный билет на 16.5 млн долларов пытались обналичить через белизский траст.
 

Сравни с нашим случаем: месяц, день недели, неделя месяца, отдельный профиль на 22:00. Это та же самая инженерная идея с интервалом в 15 лет. Мошенничество, которое сознательно живет внутри статистического шума и потому невидимо для мониторинга дисперсии. Меняется только способ доставки: Типтону нужен был USB-накопитель и физический доступ в комнату розыгрыша, а здесь хватило удачно названного пакета в публичном реестре.
 

В поздних версиях добавился вывод данных наружу — результаты уходили на сервер атакующего. И тут ребята показали хороший вкус: трафик маскировался под обычную телеметрию Seq, популярной системы структурированного логирования. Правильный путь запроса, правильная структура JSON с полями уровня и шаблона сообщения. Для любого мониторинга это выглядит как логи, которых в проде и так гигабайты в сутки.
 

Единственное, на чем автор себя выдал в этой части, — заголовок с ключом доступа. Его значение: theperfectheist2025. Идеальное ограбление. Скромность украшает.

 

Деталь, из-за которой все это перестает быть просто новостью по кибербезу

 

Чтобы написать такой патч, нужно было знать точное имя внутреннего класса и внутреннего метода в закрытом коде Digitain. Не название игры, не адрес сайта — конкретную сигнатуру функции в приватном репозитории.

Такое не гуглится и не подбирается перебором.
 

JFrog не назвала виновных и осторожно пишет, что это потенциально инсайдер или человек с доступом к внутреннему репозиторию. Часть изданий сформулировала жестче, но фактическая база одна: у автора был доступ к исходникам. Действующий сотрудник, бывший сотрудник, подрядчик — вариантов немного.
 

Во всех 7 версиях пакета в метаданных светился адрес внутреннего TFS-сервера компании — tfs.digitain.tools, а дальше путь к проекту BetOnGames и FG-Crash. Человек, который старательно обфусцировал полезную нагрузку 3 разными способами и постепенно улучшал маскировку от версии к версии, забыл почистить служебные поля сборки. И сам, своими руками, 7 раз подряд написал в открытом реестре, куда именно он целится.

Обфускация уровня бог, операционная безопасность уровня студент. Классика жанра.
 

Кстати, последняя версия пакета вообще приехала без обфускации — похоже, кто-то просто собрал релиз не той конфигурацией. Именно на таких мелочах и рассыпаются красивые схемы.

 

Почему целью стала именно краш-игра

 

Это не случайность, и здесь начинается уже наша с тобой территория.

Краш — самый удобный на свете объект для такой атаки, и вот почему.
 

  • Раунд короткий. Секунды. Не надо ждать барабанов, не надо ждать конца матча. За полчаса проходят десятки раундов — те самые 27-32, которых хватило атакующему на полный цикл.
  • Результат — единственное число. Не комбинация символов, не таблица выплат, не сложная логика бонусов. Всего 1 коэффициент. Подменил число — забрал деньги. Минимум кода, максимум эффекта.
  • Ставка делается в моменте. Знаешь, что в этом раунде улетит высоко, — заходишь крупно. Знаешь, что рухнет сразу, — пропускаешь. Все.
  • И это невозможно заметить глазами. Краш и так выглядит как хаос: то 1.02, то 200. Игрок, который третий час ловит ранние крашы, ничего не докажет — он просто уверен, что ему не везет. Аномалия видна только в агрегированной статистике по RTP на длинной дистанции. А если вмешательство длится 30 раундов и потом само себя выключает, ее не видно и там.

Теперь добавь контекст рынка, чтобы понять ставки. Aviator от Spribe в 2025 году собрал около 160 млрд евро оборота ставок — это один из крупнейших объемов на одну игру в истории индустрии. У него порядка 77 млн игроков в месяц, он стоит у 5500+ операторов и принимает около 400 000 ставок в минуту. Сам жанр краша, по оценке SBC, дает около 1.1% валового игрового дохода европейского онлайн-казино, то есть примерно 2.56 млрд евро.


Мы и сами разбирали, почему краш стал несущей стеной гемблинг-вертикали и одним из главных конвертящих офферов. Так вот: это и есть ответ на вопрос, почему кто-то потратил 2 месяца и 7 итераций на такую конструкцию.

 

Отдельно про provably fair, чтобы не было путаницы

 

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

Так вот, этот троян криптографию не ломал. Ему не нужно было.
 

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

Разница принципиальная. Хеш подтверждает, что результат не переигрывали после того, как его зафиксировали. Он ничего не говорит о том, честен ли код, который этот результат породил. Если генератор пропатчен до момента фиксации, цепочка хешей сойдется идеально — на подкрученных числах.
 

Это не теория. В марте 2019 года площадку bustabit, одну из самых старых краш-игр с открытой проверкой раундов, выпотрошили на 122.5 биткоина — примерно 490 000 долларов по тогдашнему курсу. Криптографию там тоже никто не ломал: нашелся недокументированный метод API, который отдавал результат текущего раунда до его окончания. Человек просто ставил наверняка. Хеш-цепочка при этом оставалась безупречной.


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

 

А сертификация? Она такое не ловит в принципе

 

Логичный следующий вопрос: игры же сертифицируют независимые лаборатории. Куда смотрели они?
 

Отвечаю: туда, куда им положено смотреть. Просто это другое место.

Отраслевой стандарт GLI-19 требует, чтобы критичные компоненты игровой программы проверялись на подлинность криптографическим хешем — минимум раз в 24 часа, и при несовпадении игра должна вставать. Звучит надежно. Но это проверка файлов на диске.
 

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

Единственное, за что теоретически могла бы зацепиться проверка, — сам факт наличия лишней библиотеки в сборке. Но если сертификация конкретного билда проходила после августа 2025 года, то вредоносная DLL попала бы в эталонный слепок как часть легитимного состава.
 

И вот главное, что стоит понимать про весь этот контур: ни один игорный стандарт и ни один регулятор не требует от разработчика ни SBOM, ни подтверждения происхождения зависимостей, ни проверки сторонних библиотек.

Приложение C того же GLI-19 разбирает поставщиков услуг — геолокацию, платежи, облако. Поставщиков кода там нет. Сертификат выдается на конкретную сборку, в конкретный момент, по тестам, которые лаборатория выбрала сама. Ни Типтон, ни этот троян такую проверку бы не завалили. Они на нее и не рассчитаны.

 

Что все это значит для арбитражника

 

Ок, скажешь ты. Дырка у вендора, безопасники разобрались, компания ответила, что все закрыто. Мне-то что? А вот что.


1. Ты не знаешь, на чьей платформе крутится твой оффер. Это, пожалуй, главный вывод. Ты работаешь с партнеркой. Партнерка работает с брендом. Бренд крутится на платформе провайдера. Провайдер интегрирует игры сторонних вендоров и свои собственные. Ты видишь первое звено цепочки, а рисков в ней на все 4. Digitain, для понимания, — компания из Армении, основана в 1999 году, выросла из национальной лотереи, штат по разным оценкам от 2000 до 3000 человек, платформа стоит у 150-180 партнеров более чем в 100 странах. И у большинства вебов, которые прямо сейчас льют на бренды, работающие на этой платформе, слово Digitain в лексиконе просто отсутствует.
 

2. По ревшаре ты сидишь в одной лодке с игроком, но без права голоса. Схема с RevShare прекрасна ровно до того момента, пока платформа считает честно. Если кто-то снимает деньги с игровой логики, они уходят из той же кассы, из которой формируется твой процент. При этом проверить ты не можешь ничего: ни аудита, ни доступа к сырой статистике у тебя нет. Ты просто в какой-то месяц видишь, что когорта отвалилась быстрее обычного, и списываешь это на качество трафика.

 

И тут в полный рост встает отрицательный перенос. Если игроки твоей когорты вынесли кассу — неважно, повезло им или кто-то помог им повезти, — минус ложится на твой баланс и съедает следующие месяцы. Типовой расчет по году выглядит так: 20 активных игроков, средний NGR 3000 евро в месяц, ревшара 40%. Без переноса это порядка 12 440 долларов за год и 2 месяца без выплат. С переносом — 7240 долларов и уже 5 месяцев в нуле. Разница 42% дохода. А один крупный выигрыш на 20 000 долларов при накопленных 15 000 способен закрыть тебе выплаты на 5 месяцев вперед. Ты в этой конструкции миноритарный акционер чужой дисперсии без права голоса и без доступа к отчетности.
 

3. Репутационный удар прилетает по последнему звену. Когда всплывает история про подкрученные коэффициенты, игрок не идет писать гневный пост про NuGet-пакет и метод GenerateGameResult. Он пишет, что казино кидает. А привел его туда, напомню, ты — своим креативом, своим прелендом, своим телеграм-каналом. В гемблинге доверие к бренду и есть половина конверсии, и держится оно на тебе, а управляют им совсем другие люди.
 

4. Схемщики получили лучший в истории аргумент. Ты знаешь этот пласт: предикторы, боты-сигналы, платные каналы с прогнозами по Aviator, приложения-взломщики. Раньше на вопрос "а коэффициенты вообще можно подкрутить" честный ответ был: технически да, но публично подтвержденных случаев нет. Теперь ответ звучит иначе, и любой продавец предикторов будет размахивать отчетом JFrog как индульгенцией. Формально выводы отчета прямо противоположны — вся конструкция как раз показывает, что подкрутка доступна человеку с доступом к репозиторию, а не покупателю бота за 2000 рублей. Но кого и когда останавливала формальная логика.
 

Тут вообще получилась ирония на несколько уровней. Экономика предикторов держится на 5 источниках дохода: продажа приложений за 20-200 долларов, подписки на телеграм-сигналы за 10-50 долларов в месяц, малварь под видом бесплатной версии, exit scam — и, главное, 20-50% комиссии с депозитов игроков, которых этот же продавец заводит в казино по своей рефке. То есть предиктор в первую очередь не софт, а воронка. Продают фикцию о предсказуемости краша, а зарабатывают на обычной ревшаре.
 

Так вот, впервые за всю историю жанра эта фикция оказалась технически правдой. Внутри бэкенда одной платформы, по расписанию, на 27-32 раунда. Правда, ровно для 1 человека — и точно не для того, кто купил подписку.

 

Три детали, которые говорят о рынке больше самого инцидента

 

Деталь первая. 17 июня 2026 года Digitain получила награду Platform Provider of the Year на SBC Awards Americas. Письмо от JFrog с разбором трояна пришло 7 июля, то есть через 3 недели. Это не претензия к компании и не намек — это иллюстрация того, чего стоят отраслевые награды как сигнал о технологической зрелости. Ровно ничего. Их дают за продукт и маркетинг, а не за аудит цепочки поставок.

Лишняя буква t: как троян в NuGet подкручивал краш-игру внутри беттинг-платформы

Деталь вторая, и она мне нравится больше. Историю разобрали The Hacker News, SC Media, TechRadar, десяток профильных изданий по безопасности, ее подхватили национальные центры реагирования. А теперь угадай, сколько материалов вышло в профильной гемблинг-прессе — в тех самых изданиях, которые месяцем ранее писали про награду.
 

На момент подготовки этого текста — ровно 0. Про награду написали все. Про троян в краш-игре — никто. Делай выводы о том, как устроен информационный поток в индустрии, в которой ты зарабатываешь, и откуда на самом деле стоит брать вводные для оценки рисков.
 

Деталь третья: регуляторы тоже промолчали. Ни одного заявления, ни одной проверки, ни одного запроса — ни от Кюрасао, ни от MGA, ни от британской комиссии. Лицензии компании как были действующими, так и остались.
 

Для калибровки, чего вообще стоит внимание регулятора в этой сфере. В августе 2025 года комиссия Нью-Джерси оштрафовала Evolution на 12 000 долларов — за 4 эпизода с живыми дилерами: дилер не сдал себе карту, на сукне была напечатана не та надпись про правило на 17, шарик рулетки сделал меньше положенных оборотов, и больше 400 раздач блэкджека прошли колодой, в которой не хватало 5 карт.
 

То есть за недостачу 5 карт в колоде штраф есть. За скомпрометированный генератор результатов в краш-игре — публично не оштрафовали никого и никогда. Не потому что такого не бывает. А потому что такое, как мы только что разобрали, попросту нечем поймать.
 

И добавь сюда еще один структурный зазор: по реформе Кюрасао B2B-поставщики пока вообще не обязаны получать собственную лицензию, чтобы поставлять игры операторам. Это стоит в планах регулятора, но не в требованиях.

 

Это не единичный случай, и вот это по-настоящему грустно

 

Соблазнительно списать все на экзотику. Не выйдет.

Осенью 2025 исследователи Socket нашли в том же NuGet 9 вредоносных пакетов от автора shanhai666. Заливались в 2023-2024, собрали 9488 загрузок, внутри лежали логические бомбы с датами срабатывания в 2027 и 2028 годах. То есть код должен был мирно проработать 4 года и только потом начать с вероятностью 20% ронять приложение на обращениях к базе. Самый злой пакет, Sharp7Extend, маскировался под библиотеку для работы с промышленными контроллерами Siemens и начинал портить записи уже через 30-90 минут после установки — команды на оборудование просто тихо не доходили.
 

Общая картина по индустрии еще веселее. По данным Sonatype, за 2025 год в опенсорс-экосистемах насчитали больше 454 600 новых вредоносных пакетов — рост на 75% за год, а накопленным итогом их уже больше 1.23 млн. При этом, по собственному отчету JFrog за май 2026, детект вредоносных пакетов в принципе внедрен только у 40% организаций.

40%. То есть больше половины компаний, включая тех, кто крутит твои деньги, просто не смотрит в эту сторону.
 

И еще одна цифра из того же отчета, которая объясняет, почему эта история вообще стала возможной: около 99% всего вредоносного опенсорса приходится на npm. Внимание исследователей, детекты, сканеры — все сосредоточено там, где шумно. NuGet на этом фоне тихая экосистема. Именно поэтому .NET-тайпсквот, нацеленный на бэкенд одной беттинг-платформы, спокойно пролежал в реестре 2 месяца, а разобрали его почти через год.

Лишняя буква t: как троян в NuGet подкручивал краш-игру внутри беттинг-платформы

 

Что с этим делать практически

 

Если ты чистый медиабайер без своей разработки — напрямую сделать почти нечего, врать не буду. Но выводы для головы есть, и они рабочие:
 

  • Не держи все на одном бренде. Диверсификация — это не только про то, что оффер может встать. Это и про то, что у бренда под капотом может рвануть чужой скандал, к которому ты вообще не имеешь отношения.
  • Спрашивай у менеджера, на какой платформе бренд. Звучит душно, но это тот же уровень базовой проверки, что и вопрос про модель выплат. Сам ответ, и особенно скорость ответа, говорит о зрелости конструкции больше, чем любой рейтинг.
  • Смотри на когорты, а не только на ROI за неделю. Резкое падение удержания и LTV в конкретном бренде при неизменном качестве трафика — сигнал, что дело может быть не в трафике.
  • Не строй воронки на обещании выигрыша. Оно и раньше было плохой идеей, а после такой истории продавать гарантированные схемы — значит добровольно вставать в один ряд с теми, кого будут разбирать в следующем отчете.

А если у тебя своя разработка — ленды, прилки, трекер, антифрод, что угодно на .NET, Node или Python — тут все просто и скучно:
 

  • Фиксируй версии зависимостей через lock-файлы, не пускай в прод плавающие версии.
  • Проверяй имена пакетов глазами при добавлении. Лишняя буква t — ровно та ошибка, которую взгляд пропускает автоматически, потому что мозг читает слово целиком, а не по буквам.
  • Заведи внутренний прокси-репозиторий с белым списком вместо прямого доступа в публичный реестр.
  • Смотри на исходящий трафик своих сервисов. Троян из этой истории спалился бы на единственном незнакомом адресе, если бы кто-нибудь туда смотрел.

 

Подводя итог

 

Мне в этой истории интереснее всего не техника, а смена жанра. Годами вредоносный код в опенсорсе занимался тем же, чем занимаются карманники: тянул все, до чего дотянется, у всех подряд. Здесь кто-то потратил 2 месяца, 7 итераций и 3 разных подхода к обфускации ради того, чтобы дотянуться до конкретного метода в конкретной компании и забрать деньги за 30 раундов. Это не воровство, это спланированное ограбление конкретного банка — и автор сам подписался под жанром в названии своего ключа доступа.
 

Для нашей индустрии вывод неудобный, но полезный. Мы привыкли оценивать риск на уровне "заплатит партнерка или кинет". А реальная цепочка, в которой крутятся твои деньги, длиннее и непрозрачнее, чем кажется, и в ней есть звенья, о существовании которых ты узнаешь только из отчета израильских безопасников. Через 9 месяцев после события. Если вообще узнаешь — потому что профильная пресса, как мы выяснили, об этом писать не станет.
 

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

Регуляторы никак не отреагировали, исков никто не подавал. Компания ответила ровно 1 фразой: нам известно, вопрос решен.
 

Хорошая новость — схему нашли и закрыли. Плохая — мы понятия не имеем, сколько таких же тихих пакетов лежит в реестрах прямо сейчас, честно работая на всех и дожидаясь своего 22:00 UTC. Так что держи нос по ветру. И проверяй, как пишется название библиотеки.

Принеси в жертву лайк и шеринг во славу бога Рандома, и профитный конверт будет сопутствовать тебе всю неделю!

Трафик, котики, завод!

Комментарии