Repolode
jdx

jdx/packslip

호스트에 맞는 바이너리 아티팩트를 설치 프로그램과 패키지 관리자가 선택하고 검증할 수 있도록 해 주는 서명된 릴리스 매니페스트입니다.

스타
198
포크
5
열린 이슈
1
마지막 커밋
어제

어떤 프로젝트인가요?

packslip은 아카이브, 설치 프로그램 또는 실행 파일 형태로 배포되는 소프트웨어를 위한 서명된 릴리스 매니페스트입니다. 릴리스는 아티팩트와 함께 packslip.sigstore.json 파일 하나를 게시합니다. 설치 프로그램, 패키지 관리자, 미러는 프로젝트의 서명자 정보를 기준으로 이 번들을 검증한 뒤, 호스트에 맞는 아티팩트가 무엇인지, 그 안에서 실행 파일이 어디에 있는지, 다운로드한 파일의 다이제스트가 무엇과 일치해야 하는지 확인합니다. 따라서 파일 이름을 보고 추측하거나 바이너리와 함께 제공되는 체크섬 파일을 신뢰할 필요가 없습니다.

이 프로젝트에는 워크플로의 ID를 사용해 아티팩트 다이제스트, 플랫폼, 실행 파일 경로를 담은 명세에 서명하는 GitHub Action이 포함되어 있어, 장기간 보관해야 하는 서명 키가 필요하지 않습니다. 릴리스를 게시하고 검증하고 설치하는 명령을 제공하는 CLI도 있습니다. packslip install은 도구의 서명된 릴리스를 가져와 아카이브 전체를 설치하고, 다운로드한 코드를 실행하지 않은 채 선언된 명령을 bin 디렉터리에 배치합니다. 형식은 버전 1에서 안정화된 것으로 명시되어 있습니다.

핵심 기능

  • 01아티팩트를 플랫폼 및 실행 파일 경로에 연결하는 서명된 번들을 게시합니다.
  • 02packslip verify를 사용해 번들에 기재된 다이제스트와 대조하여 릴리스 아티팩트를 검증합니다.
  • 03packslip install을 사용해 GitHub 또는 도메인 프로젝트에서 도구를 설치하며, 다운로드한 코드는 실행하지 않습니다.
  • 04장기간 보관해야 하는 서명 키 없이 워크플로 ID를 사용해 GitHub Actions에서 실행됩니다.
  • 05형식은 버전 1에서 안정화된 것으로 명시되어 있습니다.

활용 사례

  • CLI 도구를 게시해 사용자가 스크립트를 셸에 파이핑하는 대신 검증 가능한 방식으로 설치할 수 있게 합니다.
  • 플랫폼별로 올바른 바이너리를 선택해야 하는 설치 프로그램이나 패키지 관리자를 만듭니다.
  • 미러나 내부 도구에서 다운로드한 릴리스 아티팩트가 진본인지 확인할 수 있게 합니다.
  • 태그를 트리거로 사용하는 프로젝트의 기존 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의 마지막 커밋은 2026년 11월 6일입니다.
packslip은(는) 어디에 사용할 수 있나요?
CLI 도구를 게시해 사용자가 스크립트를 셸에 파이핑하는 대신 검증 가능한 방식으로 설치할 수 있게 합니다. 플랫폼별로 올바른 바이너리를 선택해야 하는 설치 프로그램이나 패키지 관리자를 만듭니다. 미러나 내부 도구에서 다운로드한 릴리스 아티팩트가 진본인지 확인할 수 있게 합니다. 태그를 트리거로 사용하는 프로젝트의 기존 CI 릴리스 작업에 서명된 릴리스 검증을 추가합니다.
packslip는 어떻게 설치하나요?
설치 가이드에 따라 packslip을 설치합니다 서명된 릴리스에서 도구를 설치합니다: packslip install github.com/jdx/hk
packslip은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/jdx/packslip

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트