Технології

Хакери почали заповнювати GitHub проектами з «невидимим» шкідливим кодом

14 бер•Portaltele.com.ua

Фахівці з кібербезпеки виявили масштабну кампанію поширення шкідливого коду в популярних репозиторіях розробників. Зловмисники маскують небезпечні фрагменти за допомогою невидимих символів Unicode, які людина не може побачити, але комп’ютер сприймає як виконуваний код.

Дослідники з компанії Aikido Security повідомили, що лише з 3 по 9 березня на платформі GitHub було опубліковано 151 шкідливий пакет створений за цією схемою. Подібні пакети часто отримують назви, схожі на популярні бібліотеки або відомі програмні інструменти. Через це розробники інколи випадково додають їх до своїх проєктів, не підозрюючи, що всередині прихований шкідливий код.

Як працює нова схема атакиНа відміну від традиційних шкідливих пакетів, у цих проєктах більшість коду виглядає цілком безпечно. Під час перегляду він відображається у звичайному читабельному вигляді й не містить очевидних підозрілих фрагментів.

Небезпечна частина приховується у спеціальних символах Unicode, які для людини виглядають як порожні рядки або пробіли. Однак інтерпретатор JavaScript розпізнає їх як справжній код.

У результаті стандартні методи перевірки програмного коду можуть не помітити загрози.

Подібні шкідливі проєкти дослідники знайшли не лише на GitHub, а й у репозиторіях NPM Open VSX та на маркетплейсі Visual Studio Code

Хто стоїть за атакоюФахівці пов’язують цю кампанію з групою зловмисників, яку умовно назвали Glassworm Виявити їх за непрямими ознаками складно, адже всі зміни у репозиторіях виглядають правдоподібно. Йдеться про звичайні для розробки дії: оновлення документації, підвищення версій, рефакторинг коду або виправлення помилок.

Експерти припускають, що для створення такої активності зловмисники можуть використовувати великі мовні моделі штучного інтелекту які допомагають генерувати правдоподібні зміни в коді та документації.

Як невидимі символи перетворюються на кодНевидимі символи Unicode фактично відповідають літерам латинського алфавіту. Для людини вони виглядають як порожній простір, але під час виконання програми невеликий декодер перетворює їх на реальні байти коду.

Після цього ці дані передаються у функцію eval() яка дозволяє виконувати JavaScript-код,

записаний у вигляді текстового рядка. Саме так активується прихований шкідливий механізм.

Цікаво, що такі символи існують у стандарті Unicode вже кілька десятиліть. Проте лише у 2024 році кіберзлочинці почали активно використовувати їх для маскування шкідливого коду або навіть прихованих запитів до чат-ботів.

Чому проблема може бути масштабнішоюХоча дослідники виявили 151 шкідливий проєкт, експерти припускають, що реальна кількість може бути значно більшою. Такі пакети часто видаляють одразу після того, як вони набирають достатню кількість завантажень.

Як захиститися від подібних атакЕксперти з кібербезпеки радять розробникам уважно перевіряти сторонні бібліотеки та залежності перед їх додаванням до власних проєктів. Також варто використовувати сучасні інструменти аналізу безпеки коду. Однак якщо зловмисники справді активно застосовують штучний інтелект для маскування своїх дій, виявляти подібні атаки у майбутньому стане ще складніше.

атака, Дія

Читайте ще