Объявлено о восстановлении Google OOS

Объявлено о восстановлении Google OOS

Google представил инициативу OSS Rebuild, направленную на повышение доверия и прозрачности в экосистемах открытых пакетов. В условиях, когда атаки на цепочки поставок программного обеспечения продолжают угрожать популярным зависимостям, OSS Rebuild предлагает масштабируемое и низкопороговое решение, поддерживающее воспроизводимые сборки, независимую верификацию и генерацию происхождения, без дополнительной нагрузки на поддерживающих пакеты.

Объявление Google OSS Rebuild: Из чего состоит проект

  • Автоматизация для создания декларативных определений сборки для существующих пакетов PyPI (Python), npm (JS/TS) и Crates.io (Rust).
  • Происхождение SLSA для тысяч пакетов в поддерживаемых экосистемах, соответствующее требованиям SLSA Build Level 3 без вмешательства издателя.
  • Инструменты наблюдаемости и проверки сборки, которые команды безопасности могут интегрировать в свои существующие рабочие процессы управления уязвимостями.
  • Определения инфраструктуры, позволяющие организациям легко запускать собственные экземпляры OSS Rebuild для пересборки, генерации, подписания и распространения сведений о происхождении.

Открытое программное обеспечение стало основой нашего цифрового мира. От критической инфраструктуры до повседневных приложений, компоненты OSS теперь составляют 77% современных приложений. С оценочной стоимостью, превышающей $12 триллионов, открытое программное обеспечение никогда не было столь важным для глобальной экономики.

Однако эта самая повсеместность делает open source привлекательной целью: недавние громкие атаки на цепочки поставок показали изощренные методы компрометации широко используемых пакетов. Каждый инцидент подрывает доверие к открытым экосистемам, вызывая сомнения как у участников, так и у потребителей.

Сообщество безопасности ответило инициативами, такими как Security Scorecard, Trusted Publishers от PyPI и встроенная поддержка SLSA от npm. Тем не менее, универсального решения не существует: каждое усилие направлено на определенный аспект проблемы, часто делая уступки, такие как перенос работы на издателей и поддерживающих.

Наша цель с OSS Rebuild — помочь сообществу безопасности глубже понять и контролировать свои цепочки поставок, сделав потребление пакетов столь же прозрачным, как использование исходного репозитория. Наша платформа пересборки обеспечивает эту прозрачность, используя декларативный процесс сборки, инструментацию сборки и возможности сетевого мониторинга, которые в рамках SLSA Build создают детализированные, долговечные, достоверные метаданные безопасности.

Основываясь на модели размещенной инфраструктуры, которую мы разработали с OSS Fuzz для обнаружения проблем с памятью, OSS Rebuild аналогично стремится использовать размещенные ресурсы для решения проблем безопасности в open source, на этот раз с целью защиты цепочки поставок программного обеспечения.

Наше видение выходит за пределы любой одной экосистемы: мы стремимся привнести прозрачность и безопасность цепочек поставок во все разработку open source программного обеспечения. Наша начальная поддержка реестров пакетов PyPI (Python), npm (JS/TS) и Crates.io (Rust) — предоставление происхождения пересборки для многих из их самых популярных пакетов — это только начало нашего пути.

С помощью автоматизации и эвристики мы определяем предполагаемое определение сборки для целевого пакета и пересобираем его. Мы семантически сравниваем результат с существующим артефактом, нормализуя каждый, чтобы устранить нестабильности, из-за которых побитовые сравнения не проходят (например, сжатие архива). После того как мы воспроизводим пакет, мы публикуем определение сборки и результат через SLSA Provenance. Эта аттестация позволяет потребителям надежно проверять происхождение пакета в рамках истории исходного кода, понимать и повторять процесс сборки и настраивать сборку с известного функционального базиса (или даже использовать его для создания более детализированных SBOMs).

С существующей автоматизацией OSS Rebuild для PyPI, npm и Crates.io большинство пакетов получают защиту без вмешательства пользователей или поддерживающих. Когда автоматизация не в состоянии полностью воспроизвести пакет, мы предлагаем ручную спецификацию сборки, чтобы вся община могла извлечь пользу из индивидуальных вкладов.

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

OSS Rebuild помогает выявить несколько классов компрометации цепочки поставок:

  • Неопубликованный исходный код - Когда опубликованные пакеты содержат код, отсутствующий в публичном репозитории исходного кода, OSS Rebuild не будет аттестовать артефакт. Реальный пример атаки: solana/webjs (2024)
  • Компрометация среды сборки - Создавая стандартизированные минимальные среды сборки с комплексным мониторингом, OSS Rebuild может выявлять подозрительную активность сборки или избегать воздействия на скомпрометированные компоненты. Реальный пример атаки: tj-actions/changed-files (2025)
  • Скрытые бэкдоры - Даже сложные бэкдоры, такие как xz, часто демонстрируют аномальные поведенческие шаблоны во время сборок. Динамические аналитические возможности OSS Rebuild могут выявить необычные пути выполнения или подозрительные операции, которые в противном случае трудно обнаружить при ручном обзоре. Реальный пример атаки: xz-utils (2024)

Для предприятий и специалистов по безопасности, OSS Rebuild может...

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

  • Дополнить SBOMs, добавляя детализированную информацию об наблюдаемости сборки к существующим программным материалам, создавая более полную картину безопасности.
  • Ускорить реакцию на уязвимости, предоставляя путь к вендору, патчу и повторной хостингу исходных пакетов с использованием наших проверяемых определений сборки.

Для издателей и поддерживающих открытые пакеты, OSS Rebuild может...

  • Укрепить доверие к пакету, предоставляя потребителям независимую проверку целостности сборки пакетов, независимо от сложности исходной сборки.
  • Восстановить целостность исторических пакетов с высококачественными аттестациями сборки, независимо от того, были ли аттестации сборки присутствующими или поддержанными на момент публикации.
  • Снизить чувствительность безопасности CI, позволяя издателям сосредоточиться на основной работе по разработке. Платформы CI имеют сложные модели авторизации и выполнения, и, выполняя отдельные пересборки, среда CI больше не должна быть основной для безопасности ваших пакетов.

Как работает OSS Rebuild

Оставить коментарий
Комментарий:
Комментарии
  1. user

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

  2. user

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