Введение
Киберпреступники нашли новый способ обхода систем защиты, внедряя вредоносный код в проекты на GitHub с помощью невидимых символов Unicode. Исследователи обнаружили 151 заражённый репозиторий, где зловредные функции активируются только при декодировании. Эта тактика делает код незаметным для ручного анализа, а традиционные методы защиты оказываются бесполезными. В статье разберём, как работает этот метод, какие платформы уже поражены и как защитить свои проекты.
—
1. Как работает скрытый вредоносный код
Невидимые символы Unicode
Злоумышленники используют символы, которые:
— Выглядят как пробелы или пустые строки для человека.
— Интерпретируются как код JavaScript-движками.
— Декодируются в реальные команды при выполнении скрипта.
*Пример:*
«`javascript
// Визуально пустая строка, но содержит вредоносный код
const payload = «»;
«`
Тактика внедрения
— Подмена популярных библиотек — пакеты маскируются под известные проекты.
— Использование ИИ — злоумышленники, вероятно, применяют языковые модели для автоматизации создания правдоподобных изменений.
— Быстрое удаление — после набора скачиваний вредоносные репозитории исчезают.
—
2. Где обнаружили угрозу
Поражённые платформы
— GitHub — 151 заражённый репозиторий за неделю.
— NPM — пакеты с аналогичным методом скрытого кода.
— Open VSX и VS Code Marketplace — вредоносы маскируются под расширения.
Почему это опасно?
— Традиционные сканеры не работают — код выглядит чистым.
— Ручная проверка бесполезна — символы Unicode неразличимы.
— Атаки масштабируются — использование ИИ ускоряет создание поддельных проектов.
—
3. Как защититься от скрытых угроз
Меры предосторожности
✔ Проверяйте зависимости — скачивайте библиотеки только из официальных источников.
✔ Используйте инструменты анализа — например, SonarQube или Snyk для выявления аномалий.
✔ Ограничьте права выполнения — отключите `eval()` и динамический импорт, если они не нужны.
Что делать, если проект уже заражён?
— Откатитесь к предыдущей версии без подозрительных обновлений.
— Просканируйте код специализированными антивирусами для разработчиков.
— Сообщите о пакете в поддержку GitHub или NPM.
—
Вывод
Атаки с использованием Unicode-символов — новая ступень эволюции киберугроз, где традиционные методы защиты бессильны. Единственный способ избежать заражения — тщательно проверять код и применять современные инструменты анализа. *Как отмечают эксперты, с развитием ИИ такие атаки станут ещё изощрённее*, поэтому важно уже сейчас усилить контроль за зависимостями в проектах.