NPM предупреждение: Компрометирани ключови JavaScript библиотеки

  • Фишинг кампания позволи публикуването на злонамерени версии в NPM и компрометирането на основни JavaScript библиотеки.
  • Зловредният софтуер е действал като крипто-клипер, замествайки адреси по време на подписване на транзакции.
  • Ниско икономическо въздействие и бързо смекчаване; няколко доставчици и портфейли не бяха засегнати.
  • Препоръки: Одит на зависимости, коригиране на версии, прилагане на 2FA и проверка на транзакции в хардуерни портфейли.

Илюстрация за JavaScript

Технологичната общност разследва атака срещу веригата за доставки на NPM , насочена към широко използвани JavaScript библиотеки. Според множество екипи по сигурността, нападателите са внедрили зловреден софтуер с възможности за крипто клипъри в тези широко използвани пакети, с потенциал да нарушат транзакциите и да отклонят криптовалута.

Въпреки че потенциалният обхват е огромен поради популярността на тези зависимости в екосистемата на JavaScript , първоначалните анализи сочат ограничено икономическо въздействие: малки суми, под няколкостотин долара, биха били преместени, докато доставчиците и регистърът предприемат действия за премахване на манипулирани версии.

Как е било извършено проникването

Проникването започна с фишинг имейли, представящи се за официална поддръжка на npm , с искане от администраторите на пакети да актуализират двуфакторното си удостоверяване в спешен срок. Фалшив уебсайт присвои идентификационни данни и код, позволявайки на нападателите да поемат контрол над акаунт с широки привилегии (свързан в общността с псевдонима „Qix“) и да публикуват компрометирани версии на няколко помощни програми.

svg зловреден софтуер
Свързана статия:
Кибер нападателите използват SVG файлове за заразяване със зловреден софтуер

Изследователи като Aikido Security и колектива JDSTAERK описват кампания, способна да променя съдържание на сайтове, да прихваща API извиквания и да променя това, което потребителят смята, че подписва , увеличавайки риска за уеб услугите, които интегрират тези библиотеки чрез дълбоки вериги на зависимости.

Екосистема на JavaScript пакети

Засегнати пакети и обхват

Уязвимостта засегна много основни помощни програми, присъстващи в множество проекти , така че дори екипи, които не ги инсталират директно, биха могли да бъдат изложени на риск чрез транзитивни зависимости. Сред имената, цитирани от фирми за сигурност и разработчици, са:

  • тебешир, шаблон за тебешир, лента ANSI, срез ANSI, обвиване ANSI, цвят на опорите
  • преобразуване-на-цвят, име-на-цвят, цветен-низ
  • ansi-regex, ansi-стилове, has-ansi
  • debug, error-ex, is-arrayish, simple-swizzle
  • supports-hyperlinks, обратна наклонена черта, proto-tinker-wc

Тези софтуерни продукти натрупват милиони седмични изтегляния и над един милиард в исторически изчисления , действайки като основни градивни елементи за съвременни сървъри, инструменти за команден ред и уеб приложения.

Сигурност в JavaScript

Как работи зловредният софтуер

Злонамереният код функционира като крипто-клипер : чрез откриване на среди със софтуерни портфейли (напр. разширения като MetaMask), той прихваща данни за транзакции точно преди подписването им и замества адреса на местоназначение с такъв, контролиран от нападателите.

Ако не идентифицираше активен портфейл, имплантът се опитваше да извърши пасивно извличане на информация към външни сървъри. В сценарии с активен портфейл, освен манипулирането на API извикванията, той наблюдаваше клипборда, за да презаписва адресите, копирани от потребителя – класически трик при този тип измама.

Експертите посочват, че тези, които валидират данните на екрана на хардуерен портфейл, се сблъскват с физическа бариера, която възпрепятства този метод: окончателното потвърждение се извършва на устройството и показаният адрес не може да бъде променен от браузъра или уебсайта.

Реално въздействие досега

Въпреки мащаба на пробива, сумата пари, преместени от нападателите, изглежда е била много малка (от десетки до няколкостотин долара) , според различни следи, публикувани от изследователи. Няколко доставчици незабавно съобщиха за инцидента, а регистърът деактивира компрометираните публикации в рамките на часове.

Доставчици на крипто портфейли и услуги като Ledger, Trezor, MetaMask, Phantom и Uniswap съобщиха, че не са били засегнати от компрометираните версии или са били защитени от многопластови мерки за сигурност. Въпреки това, те препоръчват внимателно да се преглежда всяка транзакция преди подписване и да се поддържат добри практики за проверка.

Предупреждението за разработчиците е ясно: ако даден проект е актуализирал зависимостите по време на прозореца за commit , препоръчително е да се направи одит на цялото дърво и да се изгради отново с чисти версии, дори ако приложението не обработва директно криптовалути.

Какво трябва да правят разработчиците и екипите

Освен незабавното отстраняване на проблемите, организациите трябва да въведат контролни мерки във веригата за доставки , които намаляват повърхността за атака в JavaScript и Node.js среди. Приоритетните мерки включват:

  • Закрепване на версии и използване на заключващи файлове; деактивиране на автоматичните актуализации в продукцията.
  • Проверете подписите, контролните суми и произхода; внедрете политики за преглед преди публикуване.
  • Активирайте 2FA с FIDO ключове за сигурност и ротиране на жетони и тайни изложен.
  • Интегрирайте скенери за зависимости и SBOM-и; следете за неочаквани промени в критични пакети.
  • Възпроизвеждайте чисти компилации и бързо се връщайте към предишните настройки при признаци на компрометиране.

За крайните потребители съветът е да проверят адреса и сумата на устройството , преди да подпишат, да внимават за неочаквани изскачащи прозорци и да поставят на пауза транзакциите, ако се засече странно поведение на обикновени уебсайтове или децентрализирани приложения (dApps).

Хронология и главни герои

Общността засече кампанията по-рано тази седмица, като в този момент фигури от индустрията, като главният технически директор на Ledger, Чарлз Гийме , предупредиха за риска, породен от проникването на тези библиотеки в почти всеки JavaScript стек. Само няколко часа по-късно екипи като Blockaid и Aikido споделиха списъци с анализирани пакети и артефакти.

Администраторът на компрометирания акаунт потвърди в социалните мрежи, че е станал жертва на измама с нулиране на 2FA и се извини, като същевременно се координира с npm за премахване на злонамерените публикации. Доставчикът на регистър посочи, че работи с разследващи, за да свърже висящите въпроси и да засили контрола.

Въпреки че всички индикации сочат ограничени икономически щети , епизодът ясно показва, че сигурността на екосистемата на JavaScript зависи от защитата на самоличността на поддържащите, засилването на изданията на пакетите и осъзнаването, че зависимостите са критична връзка; укрепването на тези точки намалява вероятността подобен инцидент да отвори отново врати за атакуващите.


Добавяне като предпочитан източник в Google