Утечка токена для полного доступа к GitHub-репозиториям проекта Python

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

#

Утечка токена для полного доступа к GitHub-репозиториям проекта Python
Дата публикации:Fri, 12 Jul 2024 09:48:51 +0300




Исследователи из компании JFrog обнаружили в составе Docker-образа "cabotage-app" токен, предоставляющий доступ с правами администратора к репозиториям Python, PyPI и Python Software Foundation на GitHub. Токен был найден в бинарном файле "__pycache__/build.cpython-311.pyc" с прокэшированным скомпилированным байткодом.
Изображение


По сообщению представителей репозитория PyPI токен был создан в 2023 году для разработчика ewdurbin (Ee Durbin), который занимает в организации Python Software Foundation пост директора по инфраструктуре. Токен предоставлял доступ с правами администратора ко всем репозиториям и организациям проекта, включая все репозитории организаций pypi, python, psf и pypa. Проблемный Docker-образ с токеном был опубликован в каталоге Docker Hub третьего марта 2023 года, а удалён 11 июня 2024 года т.е. 16 месяцев находится в открытом доступе. 28 июня токен был отозван.




Примечательно, что в доступных исходных текстах, на базе которых был сгенерирован проблемный файл с байткодом, упоминание токена отсутствует. Автор кода пояснил, что в процессе разработки инструментария cabotage-app5 на своей локальной системе столкнулся с ограничениями интенсивности доступа к API GitHub при выполнении функции автоматизированной загрузки файлов из GitHub, и чтобы обойти лимиты, выставляемые для анонимных обращений к GitHub, временно добавил свой рабочий токен в код. Перед публикацией написанного кода токен был удалён, но разработчик не учёл, что упоминание токена прокэшировалось в предкомпилированном файле с байткодом, который затем попал в docker-образ.


def _fetch_github_file(
- github_repository="owner/repo", ref="main", access_token=None, filename="Dockerfile"
+ github_repository="owner/repo",
+ ref="main",
+ access_token="0d6a9bb5af126f73350a2afc058492765446aaad",
+ filename="Dockerfile",
):




Проведённый разработчиками Python аудит активности в репозиториях на GitHub не выявил сторонних попыток доступа с использованием раскрытого токена. С учётом того, что с 2017 года GitHub является первичной площадкой для разработки CPython, попадание токена в руки злоумышленника могло бы привести к полной компрометации инфраструктуры, используемой для разработки Python и репозитория PyPI, и возможности совершения попыток интеграции бэкдоров в CPython и пакетный менеджер PyPI.



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






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

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

Ответить