コード署名ポリシー
amenbo の配布物に誰がどう署名し、どこから配るか。
配布物が本当に amenbo のものかを、受け取った側が確かめられるようにするための取り決めです。署名する対象・ビルド経路・承認する人・配布場所を、ここに公開します。
いま検証できること
全 OS の配布物に、次の2つが効いています。
- GitHub の build attestation — 配布物がどのリポジトリのどのコミットから、どのワークフローでビルドされたかを記録します。
gh attestation verifyで誰でも検証できます。 - 更新用の minisign 署名 — アプリが自分自身を更新するとき、ダウンロードした配布物の署名をアプリが検証します。
配布物
| 配布物 | 中身 |
|---|---|
amenbo-app-windows-x64-setup.exe | GUI アプリのインストーラ(NSIS)。CLI を同梱し、インストール時に PATH へ通します |
amenbo-windows-amd64.exe | CLI 単体のバイナリ |
Authenticode 署名(これから)
Windows 向けの配布物は、現時点では Authenticode 署名を付けていません。導入したときは、次の取り決めで運用します。
- 署名を要求するのは、CI がビルドした配布物だけです。手元の端末でビルドしたものは署名しません。
- 署名要求はメンテナーが1件ずつ明示的に承認します。自動で署名されて配布まで流れる経路は設けません。
- 署名するバイナリには、製品名とバージョンのファイルメタデータ属性を設定します。
- 更新用の minisign 署名は Authenticode 署名より前に計算されるため、ひとつのファイルに、両方の署名が付いた状態になります。
ビルドの経路
- ソースは公開リポジトリ ShiroDoromoto/amenbo にあり、ライセンスは Apache-2.0 です。プロプライエタリな構成要素は含みません。
- 配布物は GitHub Actions のリリースワークフロー(
.github/workflows/release.yml)で、そのリポジトリのソースからビルドします。手元の端末でビルドした配布物を配ることはありません。
チームと役割
amenbo は単独のメンテナーが開発しています。次の役割はいずれも同一人物が担います。
| 役割 | 担当 |
|---|---|
| Author(ビルドと署名要求) | ShiroDoromoto |
| Reviewer(変更のレビュー) | ShiroDoromoto |
| Approver(署名要求の承認) | ShiroDoromoto |
署名に関わる者は、署名基盤とソースリポジトリの双方で多要素認証を有効にします。
配布場所
配布物を配るのは、次の2か所だけです。
- GitHub Releases: https://github.com/ShiroDoromoto/amenbo/releases
- このサイトの始めるページ(上記のリリースへ案内します)
プライバシー
署名にあたって、利用者のデータを集めることはありません。amenbo は中央サーバーを持たず、データは端末から出ません。詳細はプライバシーをご覧ください。