Раніше цього тижня інструмент безпеки Socket повідомив, що низка популярних пакетів NPM була скомпрометована, що, ймовірно, скомпрометувало машини розробників. Давайте розберемося, як працював цей експлойт і як можна від нього 👇 захиститися
Крок 1: Доступ видавця NPM Хакери використовували фішинг, щоб скомпрометувати облікові записи з правами на публікацію цих пакетів. Це дозволило хакерам опублікувати шкідливі версії цих популярних NPM-пакетів.
Крок 2: Установка залежностей завантажує шкідливе програмне забезпечення Коли розробник потім встановлює цю нову шкідливу версію, після інсталяції запускається скрипт «postinstall» у пакеті NPM, і завантажує + виконує шкідливе програмне забезпечення на машині розробника. Це може скомпрометувати подальші облікові записи розробників або викрасти облікові дані з їхнього комп'ютера.
Як ми можемо убезпечитися від такого роду експлойтів? Як автор пакету: Використовуйте 2FA, щоб фішингові кампанії з меншою ймовірністю могли скомпрометувати права на публікацію ваших пакетів. Як розробник: 1. Заблокуйте залежності. На щастя, це вже стандартна практика, інакше вплив цього експлойту був би набагато вищим. 2. Уникайте скриптів після встановлення, де це можливо. Більшість пакунків не потребують скрипту після встановлення для роботи, тому рекомендується вимкнути їх. MetaMask створив для цього чудовий інструмент з відкритим вихідним кодом під назвою LavaMoat. 3. Аудиторські залежності. Найкращий спосіб захисту від таких експлойтів — це обережно ставитися до залежностей, які ви додаєте до свого проекту в першу чергу. Socket є дуже корисним інструментом, який допомагає автоматизувати такий вид аудиту.
283