Компрометация цепочки зависимостей PyTorch
Оригинал: Compromised PyTorch Dependency Chain
Пакеты Linux для предварительной версии PyTorch под названием Pytorch-nightly были скомпрометированы с 25 по 30 декабря 2022 года из-за вредоносного двоичного файла, загруженного в репозиторий кода Python Package Index (PyPI). Вредоносный двоичный файл имел то же имя, что и зависимость PyTorch, и менеджер пакетов PyPI (pip) установил этот вредоносный пакет вместо легитимного.
Эта атака на цепочку поставок, также известная как «dependency confusion», раскрыла чувствительную информацию Linux-машин с затронутыми версиями PyTorch-nightly, установленными через pip. 30 декабря 2022 года PyTorch объявил об инциденте и первых шагах по снижению риска, включая переименование и удаление зависимостей torchtriton.
Процедура
- AML.TA0004 Первичный доступ
AML.T0010.001 ПО для ИИ
Вредоносный пакет зависимости с именем
torchtritonбыл загружен в репозиторий PyPI с тем же именем, что и пакет, поставлявшийся со сборкой PyTorch-nightly.Этот вредоносный пакет содержал дополнительный код, отправлявший чувствительные данные с машины.
Вредоносный
torchtritonустанавливался вместо легитимного пакета, потому что PyPI имел приоритет над другими источниками. Подробнее см. этот GitHub issue. - AML.TA0009 Сбор материалов
AML.T0037 Данные из локальной системы
Вредоносный пакет обследовал затронутую систему для базового фингерпринтинга, включая IP-адрес, имя пользователя и текущий рабочий каталог, а также похищал дополнительные чувствительные данные:
DNS-серверы из
/etc/resolv.confимя хоста из
gethostname()текущее имя пользователя из
getlogin()имя текущего рабочего каталога из
getcwd()переменные окружения
/etc/hosts/etc/passwdпервые 1000 файлов в каталоге
$HOME$HOME/.gitconfig$HOME/.ssh/*.
- AML.TA0010 Эксфильтрация
AML.T0025 Эксфильтрация киберсредствами
Вся собранная информация, включая содержимое файлов, отправлялась через зашифрованные DNS-запросы на домен*[dot]h4ck[dot]cfdс использованием DNS-сервераwheezy[dot]io.