В репозитории PyPI выявлено около 5000 оставленных в коде секретов и 8 вредоносных обфускаторов

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 2249
Зарегистрирован: 20.08.2022

#

В репозитории PyPI выявлено около 5000 оставленных в коде секретов и 8 вредоносных обфускаторов
Дата публикации:Fri, 24 Nov 2023 18:08:37 +0300




Исследователи GitGuardian опубликовали результаты анализа конфиденциальных данных, забытых разработчиками в коде, размещённом в репозитории Python-пакетов PyPI (Python Package Index). После изучения более 9.5 млн файлов и 5 млн релизов пакетов, связанных с 450 тысячами проектов, было выявлено 56866 фактов утечки конфиденциальных данных. Если учитывать только уникальные данные, без дублирования в разных релизах, число выявленных утечек составило 3938, а число проектов, в которых присутствует хотя бы одна утечка - 2922.




Всего выделено более 150 типов утечек конфиденциальной информации, среди которых обычные пароли, криптографические ключи, токены доступа к облачным сервисам, системам непрерывной интеграции и API. Как минимум 768 учётных данных оставались действующими на момент проведения исследования. В качестве примера популярных утечек, сохраняющих актуальность, упоминаются ключи доступа к Azure Active Directory, учётные данные к SSH, MongoDB, MySQL и PostgreSQL, ключи к GitHub OAuth App, Dropbox и Auth0, параметры входа в Coinbase и Twilio.




Из набирающих популярность типов утечек упоминаются токены для доступа к ботам в Telegram, число которых удвоилось в начале 2021 года и затем ещё раз удвоилось весной 2023 года.
Постоянный рост утечек также фиксируется с 2020 года для ключей доступа к Google API, а с 2022 года - учётных данных к СУБД. Из пакетов, лидирующих по числу утечек, упоминаются пакеты chatllm и
safire, в которых были забыты 209 ключей к OpenAI и 320 ключей к Google Cloud.





Среди типов файлов, в которых выявлено наибольшее число утечек, помимо файлов с расширением ".py", отмечаются файлы с расширением .json (610 утечек), .md (270), PKG-INFO (240), METADATA (210), .txt (170), а также файлы README (209) и файлы из каталогов с именем test (675). Много утечек также связано с недосмотром и ошибками с настройкой исключения файлов при формировании пакетов. Например, файлы с локальными файлами конфигурации (.cookiecutterrc, .env, .pypirc и т.п.) могут исключаться из Git-репозитория через файл ".gitignore", который не учитывается при создании пакета. В частности, в репозитории было найдено 43 файла .pypirc, содержащих учётные данные для доступа к PyPI. В 15 случаях утечек разработчики не планировали публично размещать пакеты, изначально созданные для внутреннего использования, но опубликовали их в PyPI по ошибке.



Дополнительно можно упомянуть ещё два события, связанных с PyPI:
  • В репозитории PyPI выявлены 8 вредоносных пакетов, преподносимых как утилиты для обфускации, т.е. приведения кода к нечитаемому виду, усложняющему восстановление алгоритма работы. Выявленные пакеты содержали в названиях строку "pyobf" (Pyobftoexe, Pyobfusfile, Pyobfexecute, Pyobfpremium, Pyobflight,
    Pyobfadvance, Pyobfuse и pyobfgood) и были загружены более 2000 раз.



    Интегрированный в пакеты вредоносный код был специфичен для платформы Windows и позволял подключаться к внешнему управляющему серверу, запускать произвольные команды на компьютере разработчика, находить и отправлять на внешний сервер конфиденциальную информацию, такую как ключи доступа, а также передавать произвольные файлы с системы. Кроме того, вредоносный код мог выполнять функции кейлоггера, перехватывать вводимые в Chrome пароли, создавать скриншоты, записывать звук и даже управлять web-камерой.




    Опубликованы результаты независимого аудита кодовой базы инструментария, применяемого для организации работы репозитория pypi.org, и фреймворка "cabotage", задействованного в инфраструктуре для оркестровки контейнеров. Аудит проведён при поддержке некоммерческой организации OTF (Open Technology Fund). В ходе аудита не выявлено проблем с высоким уровнем опасности, а исходные тексты признаны отвечающими основным требованиям к безопасному написанию кода. При этом отмечен недостаточный охват тестами кодовой базы cabotage и выявлено 29 проблем, из которых восьми присвоен умеренный уровень опасности, 6 - низкий, а 14 помечены как информирующие замечания.



    Наиболее заметные проблемы:

    Недостаточная проверка цифровых подписей, используемых для интеграции PyPI с AWS SNS, позволяла отправлять уведомления на email отдельных пользователей.

    Утечка информации в обработчике загрузок, позволяющая определить существование учётной записи без генерации событий о попытках входа.

    Применение ненадёжных криптографических хэшей, не исключающих атаки по отравлению кэша.

    При наличии прав запуска процессов сборки через cabotage, атакующий потенциально мог добиться подстановки своих команд.
    При наличии прав развёртывания (deployment) в cabotage, атакующий потенциально мог развернуть легитимно выглядящий образ.










Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60169

Жизнь за Нер'зула!

Ответить