PyTorch обнаружил вредоносную зависимость с тем же именем, что и у библиотеки torchtriton во фреймворке. Это привело к успешной компрометации через вектор атаки путаницы зависимостей. Подробности — к старту нашего курса «Белый хакер». Администрация PyTorch предупреждает пользователей, которые установили PyTorch-nightly в праздничные дни, о том, что нужно удалить фреймворк и его поддельную зависимость torchtriton. ML-фреймворк PyTorch с открытым кодом получил широкое распространение в коммерческой и академической сферах, от компьютерного зрения до обработки естественного языка. Как предупреждает команда PyTorch, пользователи, установившие PyTorch-nightly с 25 по 30 декабря 2022 года должны убедиться, что их системы не скомпрометированы. Предупреждение последовало после появления зависимости torchtriton в праздничные дни в реестре Python Package Index (PyPI) — официальном репозитории стороннего ПО для Python.  Вредоносная torchtriton на PyPI названа как официальная библиотека, опубликованная в репозитории PyTorch-nightly. При извлечении зависимостей экосистемы Python приоритет PyPI выше, поэтому скачивается вредоносный, а не штатный пакет PyTorch. «Поскольку PyPI index имеет приоритет, этот вредоносный пакет устанавливался вместо версии из нашего официального репозитория. Такой дизайн позволяет любому человеку зарегистрировать пакет с тем же именем, что и существующий в индексе третьей стороны, и pip установит свою версию по умолчанию», — пишет команда PyTorch во вчерашнем посте с раскрытием уязвимости. На момент написания [этого материала] BleepingComputer показал, что за прошедшую неделю [с 25 по 31 декабря] число скачиваний вредоносной зависимости torchtriton превысило 2300. Этот тип атак через цепочки поставок известен как «путаница зависимостей». Впервые о путанице зависимостей сообщил в 2021 году BleepingComputer, когда этот вектор атаки популяризовал белый хакер Алекс Бирсон. PyTorch заявляет, что пользователей стабильных пакетов PyTorch уязвимость не затрагивает. Вредоносный torchtriton не только исследует систему в поисках основных идентификационных сведений (например, IP-адреса, имени пользователя, текущего рабочего каталога), но и крадёт конфиденциальные данные: Затем он загружает все эти данные, в том числе содержимое файла, на домен h4ck.cfd. Команда PyTorch объясняет, что вредоносный бинарник triton в поддельном torchtriton, выполняется, только когда пользователь импортирует triton в свою сборку. Это требует явного кода, то есть не является поведением PyTorch по умолчанию. Уведомление на домене h4ck.cfd подразумевает, что вся операция является этическим анализом (ethical research), но анализ однозначно указывает на обратное. Вопреки приведённой формулировке бинарный файл собирает не только «метаданные», но и упомянутые выше секретные сведения, включая SSH-ключи и файлы gitconfig, hosts и passwd, а также содержимое 1000 файлов из каталога HOME. BleepingComputer получил копию вредоноса, который, согласно VirusTotal, на момент написания материала показывает чистую репутацию. Но не дайте себя обмануть. Мы заметили, что, в отличие от нескольких исследовательских пакетов и PoC-эксплойтов, которые бросаются в глаза из-за своих целей и поведения, torchtriton во избежание обнаружения использует известные технологии anti-VM. Что важнее, «полезные данные» вредоноса замаскированы и содержатся исключительно в двоичном виде, например, в файлах Linux ELF. Это выделяет библиотеку на фоне "белых" эксплойтов путаницы зависимостей прошлого доставлялись в виде простого текста. Мы заметили, что экземпляр читает .bash_history (список команд и ввода пользователя в терминал, а это — ещё один признак вредоносного ПО. Это не первый случай, когда хакер заявляет, что его действия представляют собой белое хакерство, как только его ловят на эксфильтрации секретов. В середине 2022 года весьма популярные библиотеки Python и PHP — ctx и PHPass соответственно — были компрометированы и изменены для кражи ключей AWS. Позднее исследователь, стоящий за атакой, заявил, что атака была исследованием, соответствующем этике. Во избежание сомнений мы обратились за разъяснениями к владельцу h4ck.cfd. Публичные записи показывают, что домен зарегистрирован через Namecheap 21 декабря, всего за несколько дней до происшествия. Ниже — полный текст заявления. Его мы получили от владельца домена, который, по-видимому, также связан с доменом wheezy.io. Обратите внимание, что упоминание «Facebook» (эта организация в России признана экстремистской и запрещена) ниже уместно с учётом концепции PyTorch в Meta AI (Meta также признана экстремистской и запрещена в России).  Команда PyTorch переименовала зависимость torchtriton в 'pytorch-triton' и зарезервировала на PyPI пакет-заглушку во избежание подобных атак. Группа стремится заявить о правах собственности на существующий torchtriton на PyPI, чтобы обезвредить текущую атаку.  PyTorch переименовывает зависимость во избежание дальнейших атак Для удаления цепочки вредоносных зависимостей пользователям следует выполнить команды: Запуск следующей команды приведёт к поиску вредоносного бинарного кода и покажет, подверглись ли вы атаке: Хэш SHA256 ELF-бинарника "triton": 2385b29489cd9e35f92c072780f903ae2e517ed422eae67246ae50a5cc738a0e. А мы научим вас аккуратно работать с данными, чтобы вы прокачали карьеру и стали востребованным IT-специалистом. Скидка 45% по промокоду HABR.  Data Science и Machine Learning Python, веб-разработка Мобильная разработка Java и C# От основ — в глубину А также Школа Computer Science