Skip to content

feat: verify release zip sha256 in mcp#19

Merged
hashiiiii merged 1 commit into
mainfrom
feat/release-checksums
Jul 4, 2026
Merged

feat: verify release zip sha256 in mcp#19
hashiiiii merged 1 commit into
mainfrom
feat/release-checksums

Conversation

@hashiiiii

Copy link
Copy Markdown
Owner

Summary

Phase 4 最終レビューの将来 hardening 残件「バイナリ SHA256 検証」を実装する。

  • release.yml: 4 zip の SHA256SUMS(sha256sum 形式)を生成し、5 個目のリリースアセットとして公開
  • mcp ensureCli: zip ダウンロード後に同リリースの SHA256SUMS と照合。不一致・エントリ欠落は throw し、破損 zip をキャッシュ・実行しない
    • スキップは 404(SHA256SUMS 未同梱の旧リリース)のみ。タイムアウトや 5xx で黙ってスキップすると、チェックサムだけ妨害された場合に検証が無効化されるため伝播させる(download のエラーに status を付与して message 文字列解析を回避)
  • cut-release スキル: 期待アセット数を 5 に更新(SHA256SUMS の存在確認を done 定義に追加)

v0.2.0 リリースには SHA256SUMS が無いため、検証が効き始めるのは次のリリースから(それまでは 404 skip + stderr ログ)。Editor(C#)側のダウンローダは未検証のまま — 将来の parity 課題。

Test plan

  • mcp: vitest 30/30(新規: sha256sum 形式パース / 一致・改竄・エントリ欠落 / download エラーの status)
  • shasum -a 256 出力に対する end-to-end 照合をローカル確認(dist ビルド経由)
  • release.yml の YAML 妥当性確認(release はタグ push まで CI 対象外)
  • typecheck / build green
  • CI green 確認後にセルフマージ(workflow-autonomy)

@hashiiiii
hashiiiii merged commit 42f9567 into main Jul 4, 2026
4 checks passed
@hashiiiii
hashiiiii deleted the feat/release-checksums branch July 4, 2026 23:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant