Нова supply-chain атака, открита през април 2025 г., се прицелва в Linux сървъри и среди за разработка, използвайки зловреден код, скрит в Go модули, публикувани в GitHub. Кампанията цели пълно унищожение на данни чрез скрипт, който изтрива цялото съдържание на основния диск на компрометирани машини.
Деструктивен зловреден код, изпълняван чрез Bash
Зловредният скрипт, наречен done.sh, използва командата dd, за да презапише всеки байт от /dev/sda — основния дял при повечето Linux инсталации. Това води до необратима загуба на данни, включително системни файлове, бази данни, конфигурации и потребителски данни.
„Като попълва целия диск с нули, скриптът напълно унищожава структурата на файловата система, операционната система и цялата потребителска информация, което прави системата неизползваема и невъзстановима“ — пишат от Socket.
Как се разпространява атаката?
Според експертите от фирмата за supply-chain сигурност Socket, атаката се осъществява чрез три Go модула, качени в GitHub:
-
github[.]com/truthfulpharm/prototransform -
github[.]com/blankloggia/go-mcp -
github[.]com/steelpoor/tlsproxy
Всеки от тях съдържа силно обфускиран код, който при изпълнение декодира команди с wget за изтегляне на унищожителния Bash скрипт, който се изпълнява незабавно, без възможност за реакция или възстановяване.
Защо Go екосистемата е уязвима?
Go няма централизирана проверка на пакети, което позволява лесно копиране на имена и проекти, създавайки фалшиви библиотеки, които приличат на легитимни. Тези зловредни модули имитират популярни инструменти, като:
-
Конвертори на съобщения (
prototransform); -
Имплементации на протоколи (
go-mcp); -
TLS проксита за криптиране (
tlsproxy).
Разработчици, които случайно интегрират тези модули, могат да предизвикат пълно унищожение на машините, върху които се компилират или изпълняват програмите.
Какви са последствията?
-
Пълна загуба на данни без възможност за възстановяване;
-
Срив на сървъри и среди за разработка, често без индикация за причината;
-
Потенциално разпространение на зловредни модули в зависими проекти, ако бъдат включени в open-source библиотеки.
Препоръки за защита
Socket и други експерти препоръчват:
-
Проверявайте ръчно всеки външен Go модул, преди да го добавите към проект;
-
Следете за обфускиран или нечетим код, особено такъв, който декодира команди по време на изпълнение;
-
Ограничете интернет достъпа на build сървърите, за да предотвратите автоматично изтегляне на скриптове;
-
Използвайте инструменти за анализ на зависимости, като GoSec или решения като Socket.









