The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

07.01.2023 08:12

Опубликованы результаты сканирования пакетов в репозитории 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.

  1. Главная ссылка к новости (https://tomforb.es/i-scanned-e...)
  2. OpenNews: В репозитории PyPI выявлены вредоносные пакеты, нацеленные на кражу криптовалюты
  3. OpenNews: GitHub реализовал возможность упреждающей блокировки утечек токенов к API
  4. OpenNews: В публичных логах Travis CI выявлено около 73 тысяч токенов и паролей открытых проектов
  5. OpenNews: На GitHub зафиксирована волна форков с вредоносными изменениями
  6. OpenNews: В Docker Hub выявлено 1600 вредоносных образов контейнеров
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58446-pypi
Ключевые слова: pypi, aws
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 08:49, 07/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    А в чём суть проблемы, собственно? Так много написано и не написано главного.
     
     
  • 2.5, Аноним (5), 10:33, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В ненавязчивой рекламе shitgrep, написанного на хрусте.

    Обычный-то, дидовский, ну никак бы не подошел.

     
     
  • 3.10, вымя (?), 13:37, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А из-за --multiline из дедовского без костылей подошёл бы только pcregrep.

    Ну и на всём объёме PyPI разность в скоростях грепа уже начинает быть заметной.

     
     
  • 4.11, пох. (?), 14:18, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Ну конечно ж ты найдешь кучу ключей (даже не среди активных 57, а включая 57000 тех похожих строчек что не подошли к aws, но были найдены в коде) написанных в две строки. В питон-коде это особенно часто принято. Ой, только вот в их регексе это почему-то не учтено.

    > Ну и на всём объёме PyPI разность в скоростях грепа уже начинает быть заметной.

    нет (даже если разница существует не только в фантазиях хрустиков). потому что совершенно все равно, выполняется ли _одноразовая_ операция час или четыре.

     
     
  • 5.16, вымя (?), 18:38, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Ой, только вот в их регексе это почему-то не учтено.

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

    > совершенно все равно, выполняется ли _одноразовая_ операция час или четыре.

    Она одноразовая до тех пор, пока ты не захочешь эту регулярку дописать, а это желание непременно возникнет только потому, что никто веб-ма... ээээ, джуниоров не бьёт палкой по рукам с целью заставить их палить ключи Единственно Правильным И Заведомо Известным Способом. А весь PyPI, который грепался — это более десятка терабайт *гзипнутых* данных. Один час тут только займёт чтение в никуда без распаковки, при условии, что есть хранилище, которое может насытить PCI-E 4.0 ×16. Помножь на коэффициент сжатия, на накладные расходы грепа, и вот одна итерация как-бы-одноразовой-но-как-бы-и-не-совсем задачи уже приближается к суткам. Удобноооо, аж жуть!

    Как там бузинесс по выгулу собак, не релоцировался ещё?

     
  • 5.38, Аноним (38), 02:28, 08/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > совершенно все равно, выполняется ли _одноразовая_ операция час или четыре

    Боже, что он несёт… Медленнее, ребятки, лучше, чем быстрее. Такие дела.

     
  • 3.23, Аноним (23), 21:40, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ripgrep превосходная утилита, эффективная и фичастая. А на язык пофиг, не веди себя как свин.
     

  • 1.6, YetAnotherOnanym (ok), 10:44, 07/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    На трёхнедельных курсах будущим питонокодерам ничего не говорят о удалении каких-то там ключей из кода перед его публикацией.
     
     
  • 2.7, Аноним (1), 11:04, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Такие ошибки допускают в основном корпоративные кодеры, у них там и секреты плейнтекстом в ps светить норм. Это никакого отношения к квалификации кадров не имеет, скорее говорит о культуре.
     
     
  • 3.12, пох. (?), 14:19, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > Такие ошибки допускают в основном корпоративные кодеры

    потому что у тебя, ванька, нет денег ни на какие aws instances.

    Да и забанен ты там давно.

    Нет ключа, нечего прогадить, логично.

     
  • 3.15, Аноним (15), 18:32, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >секреты плейнтекстом в ps светить норм
    >никакого отношения к квалификации кадров не имеет

    прикольно

     
  • 3.22, Аноним (22), 21:38, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > никакого отношения к квалификации кадров не имеет

    Жалкая попытка выгораживания гуманитариев-самоучек. Хотя, в IT давно не видать специалистов с профильным высшим образованием (оборонка и гос. структуры не в счёт).

     
     
  • 4.24, Аноним (1), 21:44, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Только речь идёт о высокооплачиваемых специалистах с вполне себе образованием и прошедших отбор, в основном у них такая лажа случается. Такие люди считают, что они лучше знают, что можно делать, и что нельзя, и в итоге творят всякую дичь.
     
     
  • 5.26, Аноним (26), 21:53, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Высокая зарплата не означает, что человек является специалистом. Я работаю в оборонном предприятии инженером, моя квалификация, и та работа, которую я проделываю (в плане полезности), даже близко не стоит рядом со всякими игроделами, вэб-"разработчиками" и т.д., но зарплата у меня меньше раза в четыре, чем у моего сына, который работает в торговой сети региональным менеджером, имея 9 классов образования + незаконченное ПТУ, но имеет подвешенный язык, общительный и "пробивной".
     
     
  • 6.28, Аноним (28), 23:15, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > та работа, которую я проделываю (в плане полезности), даже близко не стоит рядом со всякими игроделами

    Самокритика - это всегда похвально.

     
  • 5.50, YetAnotherOnanym (ok), 12:40, 08/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > прошедших отбор

    По умению расфуфыривать хвост.

     
     
  • 6.52, пох. (?), 18:13, 08/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> прошедших отбор
    > По умению расфуфыривать хвост.

    тебя опять не взяли? То ли дело в подвальчик, там в темноте даже и не видно, есть у тебя хвост или нет вовсе.

     
     
  • 7.57, YetAnotherOnanym (ok), 20:30, 09/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Бывало. Но осадочек остался.
     
  • 4.46, пох. (?), 10:12, 08/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для манки-кодинга ШЕСТЬ гребаных лет жить в общаге на мамины деньги и подрабатывать свободная-касса?
    (и потом не найти работу, потому что с опытом написания курсовиков не берут никуда кроме как в "оборонка и госструктуры", причем там и там на зарплату в 16 тыщ)

    Когда яндекс или, не к ночи будь помянут, шитбокс какой обещают войтивойти всего за пол-года и можно уже бежать наниматься на галеру?

     
  • 2.39, Аноним (38), 02:32, 08/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Кодерам правильно говорят на курсах, что все эти ключи одноразовые. Спрашивать надо с того, кто писал и применял полиси.
     
     
  • 3.47, пох. (?), 10:14, 08/01/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Угу, именно поэтом они вбивают их в код, и при попытке поменять ключ - "ой, прод упал, срочно верните все как было и объяснительные со всего отдела чтоб через час мне на стол!"

     
     
  • 4.55, Аноним (38), 19:31, 09/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если прямо-таки прод упал из-за такой ерунды, то ничего не попишешь, придётся меня нанимать чтобы процессы чинить. Такую очевидную лажу пайплайн на мерже в devel должен ловить, раз уж код ревью с перепою делается. На худой конец, stage должен упасть. От херак-херак и в продакшен другой защиты не придумали.
     
     
  • 5.58, пох. (?), 09:25, 10/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > придётся меня нанимать чтобы процессы чинить
    > присутствовали среди прочего в проектах таких крупных компаний, как Amazon, Intel, Terradata,
    >  General Atomics, Top Glove и Delta Lake

    иди, расскажи им, что тебя срочно надо нанять и ты всепачинишь.

    А то пока у тебя кончились все деньги и туалетная бумага.
    А код с ключами может даже и не исправил никто до сих пор - эти вот ребята отправили предупреждение на мэйл который принадлежит давно уволившейся обезьянке.

     

  • 1.8, Омномним (?), 12:56, 07/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Обычный типовой PyPI'ц, уже как-то можно даже новостей из этого и не делать, приелось.
     
  • 1.9, user90 (?), 13:12, 07/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Ну мы же знаем, какие васяны на этом пишут))
     
  • 1.13, ИмяХ (?), 15:11, 07/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошо, что в cargo ничего подобного нет и никогда не будет, ибо это принципиально невозможно, благодаря безопасности.
     
     
  • 2.14, Самый Лучший Гусь (?), 18:29, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А усишки нету пакетного менеджера потому такая ситуация вобще невообразима
     
     
  • 3.25, Аноним (26), 21:45, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > у сишки нету пакетного менеджера

    Поэтому этот язык - отдушина для немногих оставшихся IT специалистов-инженеров с профильным образованием, которые разрабатывают программное обеспечение для кретических объектов инфраструктуры и оборонной промышленности. Лично я, как инженер с ещё советским профильным образованием, просто на дух не переношу все эти смузи-технологии для детишек в обтянутых штанишках с розовыми волосами.

     
     
  • 4.29, Аноним (29), 23:37, 07/01/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > специалистов-инженеров с профильным образованием, которые разрабатывают программное обеспечение для кретических объектов инфраструктуры и оборонной промышленности.

    Да будет самопровозглашенному инженеру известно, что критические объекты инфраструктуры и оборонной промышленности уже лет 40 как не пишутся на убогом С. В этих областях Ada и SPARK.

     
     
  • 5.53, пох. (?), 10:03, 09/01/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У "оставшихся" в известной перде инженеров нет никакой ады - во-первых, потому что еще двадцать лет она показала свою малопригодность для разработки и была всеми забыта, кроме немногих уже тогда замшелых дедов. (Которым вполне удалось угробить ракету - оказалось, волшебный язык не помогает от этого никак. Только мешает писать код и усложняет тесты.)

    А во-вторых потому что у них там - фортран. Другого компилятора для M1 не написали, видать.

    А у crew dragon управление на ведроидах. Ну да, дерьмо. Зато много.

     
  • 4.48, Прохожий (??), 12:25, 08/01/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    у вас явно какая-то особая боль с профильным образованием
     
     
  • 5.56, Аноним (38), 19:35, 09/01/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это у него от осознания бесполезности этого образования через год лет после получения. И от той боли пониже спины, которую испытывают дипломированные специалисты, когда понимают, что пять лет практического опыта ценятся при найме выше, чем диплом с отличием, и они просто профукали пять лет вникуда.
     
     
  • 6.60, Аноним (60), 13:10, 10/01/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > бесполезности этого образования

    Когда задумаешься, а что сделали те тонны выпускников "институтов математики и информационных технологий"? А ничего.

     

  • 1.40, Аноним (40), 02:33, 08/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Теперь MS завезёт на GitHub трёхфакторную авторизацию?
     
     
  • 2.49, InuYasha (??), 12:37, 08/01/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Трёхфазную.
     
     
  • 3.62, Аноним (60), 23:26, 11/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    к стулу авторов контента
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру