Суттєва атака на ланцюг постачання вплинула на екосистему Solana, націлившись на бібліотеку JavaScript @solana/web3.js, критичний інструмент, на який покладаються розробники для створення децентралізованих додатків (dApps) на блокчейні Solana.
2 грудня хакери отримали доступ до облікового запису розробника, який підтримував бібліотеку @solana/web3.js. Це інструмент, який завантажують більше 350 000 разів щотижня розробники додатків Solana.
Хакери скомпрометували версії 1.95.6 та 1.95.7, вбудовуючи шкідливий код, який ексфільтрував приватні ключі та виснажував кошти. Порушення призвело до крадіжки активів на суму 160 000 доларів, включаючи токени SOL та інші криптоактиви, згідно з даними Solscan.
Команда розробників, орієнтована на Solana, Anza, оголосила про порушення у вівторок, заявивши, що воно сталося, коли обліковий запис з публікаційним доступом до бібліотеки на npm був скомпрометований.
Зловмисники впровадили несанкціоновані оновлення, які містили бекдор, що передавав дані приватних ключів на жорстко закодовану адресу. Ці шкідливі версії були завантажені до того, як їх видалили з npm через кілька годин.
Атака вразила розробників, які оновили бібліотеку між 15:20 UTC та 20:25 UTC 2 грудня, особливо тих, хто використовував бекенд-системи або боти, які залежать від приватних ключів.
Використовуючи цей доступ, зловмисники завантажили змінені версії бібліотеки (1.95.6 та 1.95.7), що містили код, який таємно надсилав приватні ключі до адреси під контролем хакера. Ці ключі дозволили хакерам красти кошти з додатків, які використовували скомпрометовану бібліотеку.
Цей тип інциденту називається атакою на ланцюг постачання, коли хакери маніпулюють програмним забезпеченням, на яке покладаються розробники, поширюючи шкідливий код широко.
Проекти або системи, які завантажили та інтегрували ці версії бібліотеки, нічого не підозрюючи, стали вразливими до експлуатації.
У публічній заяві Phantom, одного з найпоширеніших гаманців Solana, підтвердили, що він ніколи не використовував скомпрометовані версії бібліотеки, забезпечуючи, щоб його користувачі не постраждали.
Аналогічно, Solflare та інші ключові проекти, такі як Drift і Backpack, запевнили свої спільноти, що надійні заходи безпеки запобігли будь-якому скомпрометуванню.
Розробники, які покладалися на операції з приватними ключами в уражених версіях, стали основними жертвами, але кінцеві користувачі в основному уникнули проблем.
Відомі голоси в спільноті Solana уточнили, що атака не скомпрометувала сам блокчейн Solana.
Після порушення безпеки розробників закликали негайно оновити до версії 1.95.8 бібліотеки, перевірити свої проекти на наявність залежностей від скомпрометованих версій та змінити й регенерувати приватні ключі, щоб зменшити подальші втрати.
npm з тих пір видалив уражені версії, а такі інструменти, як Socket, були рекомендовані розробникам для виявлення вразливостей у їхніх репозиторіях.
Це порушення є частиною тривожної тенденції атак на ланцюг постачання, коли хакери націлюються на широко використовувані програмні інструменти, щоб атакувати більшу групу людей.
Хакан Унал, старший вчений з блокчейну в Cyverse, повідомив Decrypt, що «недавня атака на ланцюг постачання бібліотеки Solana підкреслює критичну проблему в сучасній розробці програмного забезпечення: безпеку сторонніх залежностей».
"Ці залежності—відкриті бібліотеки або компоненти, інтегровані в більший проект—широко використовуються для прискорення розробки,” додав Унал. “Проте, якщо ними не керувати уважно, вони можуть стати векторами для зловмисників, і особливо в криптовалюті, де прибуток високий, потрібні жорсткі стандарти."
Схожа атака нещодавно вразила бібліотеку JavaScript Lottie Player, яка широко використовується для веб-анімацій. Зловмисники вбудували шкідливий код у її npm-пакет, спричинивши криптовалютні втрати, що перевищують 723 000 доларів.
У цьому випадку користувачі, які відвідували скомпрометовані вебсайти, нічого не підозрюючи, підписали фальшиві підключення гаманців, контрольовані зловмисниками, надаючи доступ до своїх коштів.
Редаговано Стейсі Елліот.