duty-free.cc

Одна лишняя буква — и данные украдены: как киберпреступники используют невнимательность разработчиков

Эксперты компании ReversingLabs выявили вредоносный пакет в репозитории NuGet, который выдавал себя за официальную библиотеку Stripe.net. Его задачей был перехват ключей доступа к платёжному сервису Stripe. Этот случай продемонстрировал смещение интересов злоумышленников: если раньше их внимание было сосредоточено главным образом на криптовалютных проектах, то теперь в фокусе оказываются инструменты для работы с финансовыми сервисами.

Stripe.net — это официальный пакет для платформы .NET, предназначенный для интеграции с API Stripe. Он широко применяется при подключении онлайн-платежей и считается стандартным решением в своей области. Попадание вредоносной версии в цепочку поставок могло бы привести к компрометации API-ключей, раскрытию данных клиентов и даже несанкционированному доступу к аккаунтам Stripe с возможностью вмешательства в финансовые операции.

Прямую атаку на оригинальный пакет злоумышленники не предпринимали. Вместо этого они использовали метод тайпсквоттинга — создали и разместили пакет с похожим названием StripeApi.Net. Оформление страницы практически не отличалось от настоящей: аналогичная иконка, схожее описание, совпадающие теги и ссылки на официальные ресурсы Stripe. Аккаунт издателя носил название StripePayments, что усиливало эффект доверия. Единственной заметной деталью оставался стандартный аватар профиля NuGet, тогда как подлинная библиотека использует фирменный логотип.

Отдельное внимание исследователи обратили на попытку имитировать популярность. В статистике значилось более 180 тысяч загрузок, однако они были распределены между 506 версиями — по несколько сотен установок на каждую. Такая схема делала показатели более правдоподобными. Внутри пакета находились DLL-файлы, основанные на оригинальном коде Stripe.net, но с модификациями в критически важных функциях. Во время инициализации клиента библиотека перехватывала API-токен и отправляла его вместе с идентификатором устройства на сервер Supabase, который использовался как площадка для сбора похищенной информации. Подобные схемы уже встречались в экосистеме NuGet ранее.

По данным ReversingLabs, масштаб возможного ущерба оказался ограниченным. Пакет появился примерно 16 февраля, после чего авторы начали активно выпускать обновления. Вскоре после уведомления администрация NuGet удалила его из репозитория. Проверка базы данных Supabase не выявила украденных реальных токенов — обнаружена была лишь тестовая запись, что делает массовую компрометацию проектов маловероятной.

Этот инцидент вновь подчеркнул уязвимость современных проектов перед рисками сторонних зависимостей. Поддельные библиотеки часто сохраняют работоспособность оригинального функционала, поэтому приложения продолжают функционировать без сбоев, а процесс утечки данных остаётся незаметным. Специалисты ReversingLabs также отметили, что подобные атаки происходят не только в NuGet — аналогичные случаи ранее фиксировались и в других экосистемах, включая npm.