Новини України
Підбірка новин з українських джерел

Хакери почали заповнювати GitHub проектами з «невидимим» шкідливим кодом
Фахівці з кібербезпеки виявили масштабну кампанію поширення шкідливого коду в популярних репозиторіях розробників. Зловмисники маскують небезпечні фрагменти за допомогою невидимих символів Unicode, які людина не може побачити, але комп’ютер сприймає як виконуваний код.
Дослідники з компанії Aikido Security повідомили, що лише з 3 по 9 березня на платформі GitHub було опубліковано 151 шкідливий пакет, створений за цією схемою. Подібні пакети часто отримують назви, схожі на популярні бібліотеки або відомі програмні інструменти. Через це розробники інколи випадково додають їх до своїх проєктів, не підозрюючи, що всередині прихований шкідливий код.
Як працює нова схема атаки
На відміну від традиційних шкідливих пакетів, у цих проєктах більшість коду виглядає цілком безпечно. Під час перегляду він відображається у звичайному читабельному вигляді й не містить очевидних підозрілих фрагментів.
Небезпечна частина приховується у спеціальних символах Unicode, які для людини виглядають як порожні рядки або пробіли. Однак інтерпретатор JavaScript розпізнає їх як справжній код. У результаті стандартні методи перевірки програмного коду можуть не помітити загрози.
Подібні шкідливі проєкти дослідники знайшли не лише на GitHub, а й у репозиторіях NPM, Open VSX та на маркетплейсі Visual Studio Code.
Хто стоїть за атакою
Фахівці пов’язують цю кампанію з групою зловмисників, яку умовно назвали Glassworm. Виявити їх за непрямими ознаками складно, адже всі зміни у репозиторіях виглядають правдоподібно. Йдеться про звичайні для розробки дії: оновлення документації, підвищення версій, рефакторинг коду або виправлення помилок.
Експерти припускають, що для створення такої активності зловмисники можуть використовувати великі мовні моделі штучного інтелекту, які допомагають генерувати правдоподібні зміни в коді та документації.
Як невидимі символи перетворюються на код
Невидимі символи Unicode фактично відповідають літерам латинського алфавіту. Для людини вони виглядають як порожній простір, але під час виконання програми невеликий декодер перетворює їх на реальні байти коду.
Після цього ці дані передаються у функцію eval(), яка дозволяє виконувати JavaScript-код, записаний у вигляді текстового рядка. Саме так активується прихований шкідливий механізм.
Цікаво, що такі символи існують у стандарті Unicode вже кілька десятиліть. Проте лише у 2024 році кіберзлочинці почали активно використовувати їх для маскування шкідливого коду або навіть прихованих запитів до чат-ботів.
Чому проблема може бути масштабнішою
Хоча дослідники виявили 151 шкідливий проєкт, експерти припускають, що реальна кількість може бути значно більшою. Такі пакети часто видаляють одразу після того, як вони набирають достатню кількість завантажень.
Як захиститися від подібних атак
Експерти з кібербезпеки радять розробникам уважно перевіряти сторонні бібліотеки та залежності перед їх додаванням до власних проєктів. Також варто використовувати сучасні інструменти аналізу безпеки коду. Однак якщо зловмисники справді активно застосовують штучний інтелект для маскування своїх дій, виявляти подібні атаки у майбутньому стане ще складніше.