Код
#новости

OpenSSF разработал инструмент, который умеет находить вредоносный код в пакетах npm и PyPI

Он уже обнаружил 200 таких пакетов среди Python- и JavaScript-репозиториев.

Что случилось? Фонд OpenSSF представил открытый проект Package Analysis. Инструмент помогает анализировать пакеты на наличие вредоносного кода. Проект написан на языке Go и распространяется под лицензией Apache 2.0.

Как он работает? Package Analysis изучает поведение и возможности пакетов в открытых репозиториях. Инструмент проверяет, к каким файлам они имеют доступ, на какие адреса отправляют данные и какие команды запускают. Ещё анализатор следит за обновлениями пакетов, чтобы понимать, когда они начинают вести себя подозрительно.

И что? Всего за один месяц анализа npm- и PyPI- репозиториев специалисты из OpenSSF выявили 200 пакетов с вредоносным кодом. На GitHub-странице проекта разработчики рассказали про некоторые из пакетов с подозрительной активностью:

  • discordcmd — PyPI-пакет, который загружает код бэкдора и устанавливает его в каталог Windows-клиента Discord, а затем ищет Discord-токены в файловой системе и отправляет на внешний сервер;
  • colorsss — npm-пакет, который также пересылает токены от учётной записи в Discord на внешний сервер;
  • @roku-web-core/ajax — npm-пакет, который в процессе установки отправляет данные о системе и запускает обработчик (reverse shell), принимающий внешние соединения и запускающий команды;
  • secrevthree — PyPI-пакет, который запускает reverse shell при импортировании определённого модуля;
  • random-vouchercode-generator — npm-пакет, который после импортирования библиотеки отправляет запрос на внешний сервер и получает команду и время её запуска.

Большая часть вредоносных пакетов манипулирует пересечением имён с внутренними зависимостями — dependency confusion — или использует тайпсквоттинг. А ещё — запускает скрипты и обращается к внешним хостам.

По мнению специалистов из OpenSSF, часть из обнаруженных пакетов — это, скорее всего, проекты исследователей по безопасности, которые участвовали в программах выявления уязвимостей (bug bounty).

Подробнее про Package Analysis можно посмотреть на GitHub-странице проекта.


Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована