Google выпустила открытое решение OSS Rebuild для выявления скрытых изменений в готовых пакетах в репозиториях

Компания Google выпустила открытое решение OSS Rebuild для выявления скрытых изменений в готовых пакетах, публикуемых в репозиториях. Исходный код проекта написан на языке Go и опубликован на GitHub под лицензией Apache 2.0.

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

По информации OpenNET, в текущей версии OSS Rebuild реализована поддержка верификации пакетов из репозиториев NPM (JavaScript/TypeScript), PyPI (Python) и Crates.io (Rust). Разработчики решения планируют значительно расширить число поддерживаемых репозиториев.

На практике инструментарий OSS Rebuild позволяет выявлять варианты атаки класса «supply chain» (цепочки поставок), в ходе которых после компрометации учётных записей сопровождающих или диверсии внутри проекта в репозитории публикуется вредоносное обновление. При этом рабочий код в исходном репозитории основного проекта остаётся корректным, а вредоносные изменения вносятся только в готовые пакеты.

Система OSS Rebuild по возможности автоматически формирует сценарий для воспроизводимой сборки выбранного пакета, используя эвристику и подбирая параметры, позволяющие добиться идентичности артефактов, поставляемых в пакете. Если автоматически не удаётся воспроизвести размещённый в репозитории пакет, возможно ручное добавление сборочной спецификации. После того как удалось воспроизвести пакет, инструментарий OSS Rebuild сохраняет описание процесса сборки для последующей проверки новых версий пакета. Дополнительно публикуется информация для верификации с использованием фреймворка SLSA.

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

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии