В апреле 2021 года неизвестные злоумышленники сумели скомпрометировать онлайн-платформу для тестирования ПО Codecov и добавили сборщик учетных данных к одному из инструментов. Компрометация коснулась продукта Bash Uploader, который позволяет клиентам Codecov передавать отчеты о покрытии кода для анализа.

Известно, что хакер получил доступ к скрипту Bash Uploader еще 31 января 2021 года и постепенно вносил в него изменения, добавляя вредоносный код, который перехватывал загрузки, обнаруживал и собирал любую конфиденциальную информацию, включая учетные данные, токены и ключи. Точкой входа для злоумышленника стала ошибка, допущенная разработчиками в процессе создания образа Docker Codecov, которая позволила хакеру извлечь учетные данные, необходимые для внесения изменений в скрипт Bash Uploader.

Ситуация осложнялась тем, что Codecov используют более 29 000 клиентов, в том числе такие известные компании, как GoDaddy, Atlassian, The Washington Post и Procter & Gamble (P&G). По данным федеральных властей США, которые немедленно занялись расследованием случившегося, злоумышленники использовали похищенные учетные данные клиентов для доступа к сотням сетей.

Точно известно, что из-за этой атаки на цепочку поставок пострадала компания Rapid7, представители которой сообщили, что злоумышленники получили доступ к исходному коду компании. Также о компрометации сообщали разработчики софта из компании Hashicorp, облачный провайдер Confluent, сервис голосовых вызовов Twilio и многие другие.

Как теперь пишут разработчики Codecov, они сворачивают разработку Bash Uploader, а ему на смену придет новый инструмент, написанный на NodeJS. Новый загрузчик уже доступен в бета-версии, в виде статического исполняемого бинарника, который в настоящее время поддерживает системы Windows, Linux, Alpine Linux и macOS.

«В течение последних восьми месяцев Codecov разрабатывает новый загрузчик, который не полагается на bash-скрипт, который мы в настоящее время предоставляем нашим клиентам. Мы запустили этот проект, потому что по мере роста использования Codecov и увеличения скорости разработки Bash Uploader становилось все труднее обслуживать правильно, — пишут разработчики. — Чтобы справиться с последствиями инцидента на уровне продукта, мы сразу предоставили исчерпывающую документацию о  том, как верифицировать Codecov Bash Uploader, пока не будет завершен наш новый загрузчик. При этом нашей конечной и долгосрочной целью всегда была полная замена Bash Uploader».

Таким образом, начиная с 1 ноября 2021 года, компания будет выполнять «случайные незапланированные отключения» Bash Uploader, намеренно делая его недоступным, и полностью откажется от него к февралю 2022 года.

Издание Bleeping Computer отмечает, что блог компании гласит, что скомпилированный бинарник нового загрузчика  «затрудняет изменение кода посредником» и обеспечивает повышенную безопасность, по сравнению с Bash Uploader.

Но некоторые эксперты не согласны с заявлениями Codecov и уже выразили обеспокоенность по поводу нового загрузчика. К примеру, разработчик Максимилиан Хилс пишет в Twitter, что новый загрузчик полагался на 579 зависимостей и имеет размер 43 Мб. Также Хиллс недоумевает, почему скомпилированный бинарник нового загрузчика должно быть труднее модифицировать.

Другой разработчик, Джош Питтс (Josh Pitts), обратил внимание журналистов на тот факт, что «патчинг» бинарников через Man-in-the-Middle атаку давно возможен.  Хуже того, оказалось, что новые двоичные файлы загрузчика не подписаны Codecov:

«Codecov не подписала двоичные файлы для Windows и macOS (где может использоваться подписание  кода). Они предлагают проверку открытым ключом, и я настоятельно рекомендую проверять эти подписи, учитывая важности этого ПО», — предупреждает Питтс.

То есть всем, кто загружает новые бинарники загрузчика Codecov, рекомендуется проверить их с помощью GPG/PGP, а затем разместить во внутреннем репозитории (например, Artifactory), что хотя бы поможет снизить риск MitM-атак.

Оставить мнение