코드 서명 정책
amenbo의 릴리스에 누가 서명하고, 어떻게 빌드되며, 어디에 배포되는지.
이 페이지는 amenbo의 릴리스를 받은 사람이 그것이 정말 저희에게서 온 것인지 판별할 수 있도록 두었습니다. 무엇에 서명하는지, 어떻게 빌드하는지, 누가 서명을 승인하는지, 그리고 바이너리를 어디에 공개하는지를 적습니다.
지금 확인할 수 있는 것
모든 플랫폼의 릴리스에 두 가지 확인이 적용됩니다.
- GitHub 빌드 어테스테이션 — 어느 저장소, 어느 커밋, 어느 워크플로가 산출물을 만들었는지를 기록합니다.
누구나
gh attestation verify로 확인할 수 있습니다. - 업데이트용 minisign 서명 — 앱이 스스로 업데이트할 때, 내려받은 것의 서명을 검증합니다.
산출물
| 산출물 | 내용 |
|---|---|
amenbo-app-windows-x64-setup.exe | GUI 앱 설치 프로그램(NSIS). CLI를 함께 담고 PATH에 넣습니다 |
amenbo-windows-amd64.exe | 독립 실행 CLI 바이너리 |
Authenticode 서명 (아직 도입되지 않음)
Windows 산출물에는 현재 Authenticode 서명이 없습니다. 서명을 도입할 때는 다음 조건으로 운영합니다.
- CI가 빌드한 산출물만 서명에 올립니다. 개발자 개인 기기에서 빌드한 것은 서명하지 않습니다.
- 모든 서명 요청은 메인테이너가 명시적으로 승인합니다. 빌드가 사람 손을 거치지 않고 서명되어 배포되는 경로는 두지 않습니다.
- 서명된 바이너리에는 제품명과 버전의 파일 메타데이터 속성이 들어갑니다.
- 업데이트용 minisign 서명은 Authenticode 서명을 붙이기 전에 계산하므로, 같은 파일에 둘 다 성립합니다.
어떻게 빌드하는가
- 소스는 공개 저장소 ShiroDoromoto/amenbo에 Apache-2.0으로 있습니다. 독점 구성 요소는 들어 있지 않습니다.
- 릴리스는 그 저장소의 소스에서 GitHub Actions의 릴리스 워크플로
(
.github/workflows/release.yml)가 빌드합니다. 개발자 개인 기기에서 빌드한 것은 결코 배포하지 않습니다.
팀과 역할
amenbo는 한 사람이 유지보수하고 있으며, 아래 역할을 모두 그 사람이 맡습니다.
| 역할 | 사람 |
|---|---|
| Author (빌드, 서명 요청) | ShiroDoromoto |
| Reviewer (변경 검토) | ShiroDoromoto |
| Approver (서명 요청 승인) | ShiroDoromoto |
서명에 관여하는 사람은 서명 플랫폼과 소스 저장소 양쪽에서 다중 인증을 켜 둡니다.
릴리스는 어디에 배포되는가
릴리스는 정확히 두 곳에만 공개됩니다.
- GitHub Releases: https://github.com/ShiroDoromoto/amenbo/releases
- 이 사이트의 시작하기 페이지. 위 릴리스로 이어집니다.
개인정보
서명은 어떤 사용자 데이터도 수집하지 않습니다. amenbo에는 중앙 서버가 없고 여러분의 데이터는 기기 밖으로 나가지 않습니다. 자세한 내용은 개인정보를 보세요.