Подпись, состав ПО и экспорт расширения#

Готовое расширение подписывают, формируют для него состав ПО, при необходимости проверяют на уязвимости и экспортируют в репозиторий. Эти шаги настраиваются флагами команды package и секциями build и export манифеста (см. Манифест расширения).

Состав ПО (SBOM)#

Для расширения формируется состав ПО в формате CycloneDX.

  • --sbom - включить генерацию. Включена по умолчанию.

  • --no-sbom - отключить генерацию.

В манифесте этим управляет поле build.sbom. Подробнее про состав ПО - в разделе Состав ПО (aft-sbom).

Подпись ELF по ГОСТ (bsign)#

Подпись бинарников по ГОСТ (bsign, ЗПС Astra Linux) подтверждает их целостность и происхождение.

  • --bsign - включить подпись.

  • --bsign-key <keyid> - ключ для подписи; неявно включает --bsign.

  • --bsign-passphrase-file <файл> - файл с паролем для пакетной подписи.

  • --bsign-detached - использовать отсоединённые подписи.

  • --bsign-detached-path <путь> - каталог для отсоединённых подписей.

В манифесте этим параметрам соответствует секция build.bsign. В отличие от приложений и сред выполнения, для расширений выкладка публичного ключа по умолчанию выключена.

Подпись репозитория ключом GPG#

  • --gpg-sign <keyid> (или -g) - подписать репозиторий указанным ключом.

  • --gpg-homedir <путь> - каталог GPG; при запуске через sudo определяется автоматически.

Поиск уязвимостей при сборке#

После экспорта расширение можно прогнать через поиск уязвимостей.

  • --scan-vulnerabilities и --no-scan-vulnerabilities - включить или отключить проверку.

  • --scan-fail-on <уровень> - уровень, начиная с которого сборка считается неуспешной.

  • --scan-strict и --no-scan-strict - строгий режим.

  • --scan-oval-dir <путь> - каталог с базой определений.

  • --scan-severity <уровни> - какие уровни проверять (через запятую).

  • --scan-ignore-cve <список> и --scan-ignore-package <список> - что исключить.

В манифесте этому соответствует секция build.scan. Подробнее про сам поиск уязвимостей - в разделе Поиск уязвимостей (aft-scanner).

Экспорт в репозиторий#

Расширение экспортируется в репозиторий OSTree как runtime-ref, и репозиторий обновляется.

  • --output <путь> (или -o) - путь к репозиторию (по умолчанию ./repo).

  • --collection-id <id> - идентификатор набора репозитория.

  • --generate-static-deltas - генерировать статические дельты для экономии трафика при обновлении.

  • --prune - удалять старые объекты при обновлении.

Ветка экспорта (--branch) должна совпадать с версией точки расширения хоста, если та задана, иначе расширение не подключится автоматически.