GitHub Actions усиливает безопасность checkout для защиты от атак типа «pwn request»

Github Actions кибератаки безопасность Pwn Request Checkout csoonline.com

Обеспокоенный всплеском кибератак в средах разработки, GitHub усилил безопасность actions/checkout для блокировки атак «pwn request», использующих небезопасное применение триггера pull_request_target. Обновление actions/checkout v7 автоматически блокирует рискованные рабочие процессы.

Обеспокоенный всплеском кибератак, вышедших из-под контроля в средах разработки, GitHub усилил безопасность actions/checkout для блокировки атак типа «pwn request», которые используют небезопасное применение триггера рабочего процесса pull_request_target для выполнения кода злоумышленника с полными привилегиями рабочего процесса.

Обновление actions/checkout v7, анонсированное 18 июня, теперь автоматически блокирует и прерывает выполнение рабочих процессов при использовании в рамках событий pull_request_target или workflow_run, когда происходит попытка получить код из непроверенного форка pull request.

Отныне единственным способом обойти эти проверки будет явное отключение этой функции разработчиками путем добавления параметра allow-unsafe-pr-checkout в actions/checkout, как сообщил GitHub в журнале изменений V7.

Это изменение знаменует начало новой эры «безопасности по умолчанию», когда безопасность будет определяться системой GitHub, а не оставаться на усмотрение разработчиков. В рамках этих усилий 16 июля новые настройки по умолчанию будут перенесены во все поддерживаемые основные версии.

«Рабочие процессы, закрепленные за плавающим основным тегом (например, actions/checkout@v4), автоматически получат это изменение. На рабочие процессы, закрепленные за определенным SHA, минорным или патч-версией, откат не повлияет, и им потребуется обновление с использованием Dependabot или через установленные процессы обновления», — пояснили в GitHub.

Однако, поскольку атаки типа pwn request могут происходить и другими способами, в журнале изменений добавлено, что «в будущих выпусках может быть рассмотрено дальнейшее укрепление дополнительных событий».

Слепое пятно

Если и можно предъявить критику GitHub по этому поводу, так это то, что потребовалось так много времени, чтобы устранить слабость, известную уже много лет.

Проблема заключается в GitHub Actions, который позволяет триггерам запускать рабочие процессы, включая pull_request, обрабатывающий сторонние форки без предоставления доступа к секретам, таким как ключи API, служебные токены и учетные данные. Недостаток в том, что это ограничение мешает работе некоторой автоматизации, поэтому разработчики обращаются к альтернативному триггеру — pull_request_target, который предоставляет необходимый доступ.

В какой-то момент злоумышленники поняли, что если pull_request_target был небрежно настроен с использованием actions/checkout для извлечения недоверенного кода из форка, это открывало лазейку в репозитории и их секреты.

Иными словами, слабость pull_request_target заключается не в самом триггере, который является законным и безопасным при правильном использовании, а в его некорректном использовании. Как говорится в журнале изменений GitHub: «Извлечение заголовка непроверенного pull request из форка внутри одного из таких рабочих процессов обычно позволяет выполнить код, контролируемый злоумышленником, с полными привилегиями рабочего процесса».

Однако появление actions/checkout v7 должно усложнить это, автоматически блокируя рискованные рабочие процессы независимо от их конфигурации.

К сожалению, уже нанесен значительный ущерб. Репозитории с открытым исходным кодом недавно подверглись целенаправленным атакам хакерской группы TeamPCP с использованием различных методов, включая pwn requests.

Примечательным примером стала атака в прошлом месяце, в результате которой было скомпрометировано 170 пакетов npm (node package manager), включая экосистему TanStack Router, благодаря эксплойту pwn request. Достойно сожаления, что в отдельном инциденте, не связанном с pwn request, сама GitHub подверглась взлому, и злоумышленники вывели исходный код примерно из 3800 внутренних репозиториев компании.

Лучше поздно, чем никогда: GitHub принял меры, планируя серию реформ безопасности на платформе, включая, ранее в этом месяце, ограничение автоматического выполнения установочных скриптов в npm.

Эта статья изначально была опубликована на InfoWorld.

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

Похожие новости: