Repolode
jdx

jdx/packslip

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

Звёзды
198
Форки
5
Открытые issues
1
Последний коммит
вчера

Что это?

packslip — это подписанный манифест релиза для программного обеспечения, поставляемого в виде архивов, установщиков или исполняемых файлов. В релиз вместе с артефактами публикуется один файл — packslip.sigstore.json. Установщики, пакетные менеджеры и зеркала проверяют этот набор по ключу подписи проекта, а затем узнают, какой артефакт подходит для хоста, где в нём находятся исполняемые файлы и какой хеш должна совпадать у загруженного файла. Так не приходится угадывать по именам файлов или доверять файлу с контрольной суммой, размещённому рядом с бинарным файлом.

В проект входит GitHub Action, которая подписывает данные о хешах артефактов, платформах и путях к исполняемым файлам с помощью идентификатора workflow — долгосрочный ключ подписи не нужен. Также доступен CLI с командами для публикации, проверки и установки релизов. Команда packslip install загружает подписанный релиз инструмента, устанавливает архив целиком и размещает указанные команды в каталоге bin, не запуская загруженный код. Формат заявлен как стабильный начиная с версии 1.

Ключевые возможности

  • 01Публикует подписанный набор, связывающий артефакты с платформами и путями к исполняемым файлам.
  • 02Проверяет артефакты релиза по хешам из набора с помощью packslip verify.
  • 03Устанавливает инструменты из проектов на GitHub или доменах с помощью packslip install, не запуская загруженный код.
  • 04Работает в GitHub Actions, используя идентификатор workflow; долгосрочный ключ подписи не требуется.
  • 05Формат объявлен стабильным начиная с версии 1.

Сценарии использования

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

Быстрый старт

  1. 1

    Установите packslip, следуя руководству по установке

  2. 2

    Установите инструмент из его релиза с цифровой подписью

    packslip install github.com/jdx/hk

Что важно знать

  • В CLI нет команд для обновления, просмотра списка или удаления.
  • Для установки самого packslip нужно следовать отдельному руководству по установке; в README это не описано одной командой.

Темы

#supply-chain-security#release-engineering#code-signing#sigstore#github-actions#binary-distribution#installer#rust

Частые вопросы

Что такое packslip?
Подписанный манифест релиза, с помощью которого установщики и пакетные менеджеры проверяют артефакты и выбирают подходящий бинарный файл для хоста. packslip — это подписанный манифест релиза для программного обеспечения, поставляемого в виде архивов, установщиков или исполняемых файлов. В релиз вместе с артефактами публикуется один файл — packslip.sigstore.json. Установщики, пакетные менеджеры и зеркала проверяют этот набор по ключу подписи проекта, а затем узнают, какой артефакт подходит для хоста, где в нём находятся исполняемые файлы и какой хеш должна совпадать у загруженного файла. Так не приходится угадывать по именам файлов или доверять файлу с контрольной суммой, размещённому рядом с бинарным файлом.
packslip можно использовать бесплатно? Какая у него лицензия?
packslip распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
packslip всё ещё поддерживается?
Активно поддерживается. Последний коммит в packslip — 6 нояб. 2026 г..
Для чего можно использовать packslip?
Публиковать CLI-инструмент, чтобы пользователи могли проверяемым образом установить его, а не передавать скрипт напрямую в shell. Создавать установщик или пакетный менеджер, которому нужно выбирать подходящий бинарный файл для каждой платформы. Позволять зеркалам или внутренним инструментам проверять подлинность загруженных артефактов релиза. Добавлять проверку подписи релизов в существующую CI-задачу проекта, запускаемую при создании тега.
Как установить packslip?
Установите packslip, следуя руководству по установке Установите инструмент из его релиза с цифровой подписью: packslip install github.com/jdx/hk
Где скачать packslip?
Исходный код и инструкции по установке — на GitHub: https://github.com/jdx/packslip

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Инструмент для автоматизации релизов Go-проектов: собирает и упаковывает бинарные файлы, публикует их на GitHub, в пакетных менеджерах и реестрах контейнеров.

16,1 тыс.+12 за неделю1,1 тыс.GoMITАктивно поддерживаетсяОбновлён позавчера

Агент безопасности для CI/CD, который отслеживает исходящие сетевые подключения, запись файлов и активность процессов на раннерах GitHub Actions, чтобы выявлять атаки на цепочки поставок.

1,3 тыс.+3 за неделю126TypeScriptApache-2.0Обновлён вчера

Кроссплатформенное приложение для установки подписанных приложений iOS, iPadOS и tvOS на устройство с помощью бесплатного Apple Account.

3,7 тыс.+60 за неделю269RustMITАктивно поддерживаетсяОбновлён 14 дней назад

Песочница и уровень безопасности с ограничениями на уровне ядра: контроль инструментов, учётных данных, сетевого доступа и изменений файлов AI-агентов.

Безопасность#ai-agent-sandbox#ai-security#sandboxing
4,9 тыс.+109 за неделю327RustApache-2.0Обновлён вчера

Инструмент командной строки на Ruby для автоматизации сборки приложений iOS и Android, создания скриншотов, подписи кода и публикации в магазинах.

42,4 тыс.+41 за неделю6,1 тыс.RubyMITАктивно поддерживаетсяОбновлён 24 часа назад