Открытое программное обеспечение (Open Source Software, OSS) давно стало основой для разработки современных цифровых продуктов и сервисов. Однако с ростом популярности и масштабности применения опенсорсных библиотек и пакетов существенно увеличилась и уязвимость к различным видам атак, в частности к атакам на цепочку поставок программного обеспечения. Такие атаки могут привести к серьезным последствиям, включая компрометацию систем безопасности, распространение вредоносного кода и нарушение функционирования критически важных инфраструктур. В ответ на эту угрозу Google объявил о запуске нового проекта под названием OSS Rebuild, который кардинально меняет подход к обеспечению безопасности опенсорсных пакетов, используемых миллионами разработчиков по всему миру. Инициатива OSS Rebuild направлена на повышение прозрачности и возможности проверки исходного кода распространенных пакетов, присутствующих в основных экосистемах Python Package Index (PyPI), npm для JavaScript и TypeScript, а также Crates.
io для языка Rust. Планируется дальнейшее расширение на другие платформы и языки программирования, что позволит значительно укрепить безопасность всего опенсорсного сообщества. Принцип работы OSS Rebuild основан на тщательном воссоздании (ребилде) оригинальных пакетов, представленных в публичных репозиториях, с помощью автоматизированных методов и аналитики. Следуя декларативным определениям сборки, инструмент выполняет заново компиляцию и сборку пакетов, после чего выполняется сравнение полученного результата с опубликованным оригинальным артефактом. Эта процедура помогает выявить любое отклонение, которое может свидетельствовать о наличии несанкционированных модификаций или внедрении вредоносного кода, ранее незаметного для пользователей или разработчиков.
Ключевым аспектом механизма является использование стандарта SLSA Provenance — протокола, позволяющего документировать всю информацию о происхождении, процессе сборки и конечном состоянии артефакта. Благодаря этому любой пользователь получает возможность не только проверить подлинность и целостность пакета, но и воспроизвести сборку самостоятельно, основываясь на надежной и прозрачной информации. Это значительно повышает доверие к открытым библиотекам и снижает риски, связанные с применением пакетного менеджмента в CI/CD процессах. OSS Rebuild способен выявлять разнообразные виды опасных вмешательств. Среди наиболее частых сценариев отмечаются ситуации, когда опубликованный пакет содержит код, отсутствующий в публичном исходном коде репозитория.
Такой скрытый код может использоваться злоумышленниками для обхода проверок безопасности и распространения вредоносных операций. Другой вариант угрозы — подозрительная активность в процессе сборки, например, изменённые скрипты или необычные исполняемые пути, которые сложно отследить вручную без глубокого анализа. В некоторых случаях автоматическая сборка может быть затруднена из-за технических нюансов или особенностей платформы. В таких ситуациях OSS Rebuild предоставляет разработчикам и специалистам по безопасности возможность использовать ручные спецификации сборки, которые позволяют добиться полного воспроизведения пакета и дальнейшей проверки его на предмет наличия компрометаций. Запуск OSS Rebuild это значительный шаг вперёд для всей индустрии информационной безопасности и управления программным обеспечением.
Благодаря данному инструменту сокращаются временные затраты на выявление уязвимостей, улучшается качество формируемых Software Bills of Materials (SBOM), что способствует более оперативному реагированию на уязвимости и повышению общего уровня доверия к программным продуктам, основанным на открытом коде. Современные CI/CD платформы, которые раньше брали на себя ответственность за проверку безопасности пакетов, теперь могут опереться на OSS Rebuild в качестве надежного сервиса для аттестации и валидации артефактов. Это помогает организациям оптимизировать процессы разработки и существенно снизить риски, связанные с целевой атакой на цепочку поставок. Google Open Source Security Team (GOSST), возглавляемая экспертами в области кибербезопасности, продолжит совершенствовать проект OSS Rebuild, расширяя возможности мониторинга и анализа, а также интеграцию с другими инструментами и экосистемами. Это является отражением глобального тренда на повышение транспарентности и ответственность разработчиков опенсорсного ПО.