Бесплатно Экспресс-аудит сайта:

06.12.2019

Преступник использовал Python-библиотеки для кражи SSH- и GPG-ключей

Немецкий разработчик Лукас Мартини (Lukas Martini) обнаружил две вредоносные Python-библиотеки в каталоге пакетов Python (Python Package Index, PyPI), которые использовались для кражи SSH- и GPG-ключей из проектов зараженных разработчиков.

Библиотеки созданы разработчиком, использующим псевдоним olgired2017, и маскировались под другие более популярные библиотеки с помощью техники typosquatting для регистрации похожих имен. Первая библиотека — «python3-dateutil», имитировала популярную библиотеку «dateutil», вторая — «jeIlyfish», маскировалась под библиотеку «jellyfish».

По словам специалиста, вредоносный код присутствовал только в библиотеке jeIlyfish. Пакет python3-dateutil не содержал собственного вредоносного кода, но вместо этого импортировал библиотеку jeIlyfish.

«Код в библиотеке «jeIlyfish» загружает файл с именем «hashsum», который выглядит бессмысленно, из репозитория GitLab, затем декодирует его в Python-файл и выполняет его. Похоже, данный файл пытается извлечь SSH- и GPG-ключи с компьютера пользователя и отправить их по IP-адресу», — пояснил разработчик библиотеки «dateutil» Пол Ганссл (Paul Ganssle).

Мартини уведомил разработчиков dateutil и группу безопасности PyPI, и вредоносные библиотеки были сразу же удалены. Хотя python3-dateutil была создана и загружена в PyPI за два дня до обнаружения, библиотека jeIlyfish существовала почти год — с 11 декабря 2018 года.