В пакетах, размещённых в PyPI, выявлено 57 забытых ключей доступа к AWS

Опубликованы результаты сканирования пакетов в репозитории PyPI (Python Package Index) на предмет наличия забытых в коде ключей доступа к Amazon Web Services (AWS). Провести проверку побудил прошлогодний инцидент с утечкой AWS-ключей компании InfoSys. Как оказалось случай не единичный и в коде представленных в PyPi пакетов удалось выявить ещё 57 действующих ключей, которые присутствовали среди прочего в проектах таких крупных компаний, как Amazon, Intel, Terradata, General Atomics, Top Glove и Delta Lake, а также в репозиториях австралийского правительства и университетов Стэнфорда, Портланда и Луизианы. Для поиска ключей в коде использовалась утилита ripgrep с регулярным выражением "((?:ASIA|AKIA|AROA|AIDA)([A-Z0-7]{16}))" для выявления наличия идентификаторов ключей и "[a-zA-Z0-9+/]{40}" для выявления самого ключа. Учитывались только действующие ключи, актуальность которых проверялась при помощи штатной CLI-утилиты aws. Проверка всего репозитория заняла 27 часов. Самый старый из найденных ключей присутствовал в коде с 2013 года, а самый новый с 20 декабря 2022 года. В 11 случаях были найдены root-ключи (arn:aws:iam:..:root), в 18 - ключи непривилегированных пользователей (arn:aws:iam:..:user/пользователь), а в 22 - ключи доступа к сервису (arn:aws:iam:..:user/сервис). Утечки разделены на три категории - случайно забытые в коде ключи, тестовые данные и преднамеренное использование (как правило для загрузки временных файлов Amazon S3). В качестве примеров случайно забытых ключей упоминается ключ компании Terradata, который был удалён из кода, но случайно забыт в специфичном для одной из платформ выпуске. В случае с компанией Amazon ключ был оставлен в amazon_pay SDK 2.5.1 в составе одного из тестовых сценариев. После завершения эксперимента дополнительно был создан инструментарий для постоянного отслеживания утечек ключей в новых пакетах, публикуемых в PyPi, HexPM и RubyGems. Инструментарий вызывается через Github Actions и в случае выявления утечек автоматически отправляет информацию о проблеме в репозиторий и в AWS.

Анализ
×
Amazon Web Services Inc.
Организации
10
Amazon.com, Inc.
Сфера деятельности:Розничная торговля
118
General Atomics
Организации
2
Infosys Ltd
Сфера деятельности:Связь и ИТ