Останніми днями спостерігається зростання атак на ланцюги постачання, що націлені на відкритий код програмного забезпечення. Безпосередньо це стосується публічних репозиторіїв, де нещодавно було зафіксовано кілька успішних зломів облікових записів розробників. В результаті зловмисники змогли поширити шкідливі пакети серед користувачів.
Найсвіжіша атака, за даними компанії безпеки Socket, торкнулася JavaScript-коду на репозиторії npm. Всього 10 пакетів, доступних на сторінці npm агенції Toptal, виявилися зараженими, і близько 5 тисяч користувачів їх завантажили до виявлення атаки. Пакети вже були видалені. Це була третя атака на npm, зафіксована Socket за тиждень.
Зловмисники зуміли реалізувати атаку, спочатку зламавши організацію Toptal на GitHub, а потім використавши доступ для публікації шкідливих пакетів на npm. Дослідники досі не з’ясували, як саме відбувся злом і яка була точна взаємозалежність між змінами в репозиторії GitHub та публікацією пакетів на npm.
Socket зазначає, що публікація на npm, ймовірно, сталася через GitHub Actions або токени npm, доступні після зламу організації. GitHub та npm часто пов’язані в робочих процесах, що дозволяє публікувати пакети npm після захоплення організації GitHub.
На момент написання цього матеріалу Toptal ще не розкрила, як саме стався злом їх облікового запису, і представники компанії не відповіли на запит про це.
Шкідливе навантаження в пакетах містило два етапи. Перший етап передавав токен аутентифікації GitHub жертви на контрольований зловмисниками домен. Ці токени надавали доступ до репозиторіїв GitHub жертви, що могло бути використано для подальших атак на ланцюги постачання.
Після виведення облікових даних, шкідливий код намагався видалити всю файлову систему пристрою жертви. Скрипт містив команди для знищення файлових систем як на Unix-подібних, так і на Windows операційних системах.