From 5e71f7d1d500c6c8f0f79f8639c256c30f254483 Mon Sep 17 00:00:00 2001 From: sasakiyugo Date: Sun, 6 Sep 2026 00:49:24 +0900 Subject: [PATCH 1/2] =?UTF-8?q?build(deps):=20x/crypto=20v0.56.0=20?= =?UTF-8?q?=E3=81=B8=E6=9B=B4=E6=96=B0=EF=BC=88=E5=88=B0=E9=81=94=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E3=81=AA=20DoS=20=E8=84=86=E5=BC=B1=E6=80=A7=202=20?= =?UTF-8?q?=E4=BB=B6=E3=82=92=E8=A7=A3=E6=B6=88=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit govulncheck が x/crypto v0.55.0 に対し GO-2026-6354 / GO-2026-6355 を 到達可能(ssh.Dial 経由)と報告していた。v0.56.0 で修正済み。 更新後は Symbol Results が空(到達可能な脆弱性 0 件)。 残る GO-2026-5932 は x/crypto に修正版がなく(Fixed in N/A)、 本ツールのコードからは到達しないため対応しない。 Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 4 ++++ go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cfbdc6..91e28d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/). ## [Unreleased] +### Changed + +- Updated dependencies: `golang.org/x/crypto` v0.55.0 → v0.56.0. Versions up to v0.55.0 are affected by GO-2026-6354 and GO-2026-6355, two denial-of-service issues in `golang.org/x/crypto/ssh` channel handling that `govulncheck` reports as reachable from this tool's `ssh.Dial` call. After the update `govulncheck ./...` reports no reachable vulnerabilities. + ## [1.8.2] - 2026-08-15 ### Changed diff --git a/go.mod b/go.mod index 653aa44..6c69845 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.26.6 require ( github.com/kevinburke/ssh_config v1.6.0 - golang.org/x/crypto v0.55.0 + golang.org/x/crypto v0.56.0 golang.org/x/term v0.45.0 ) diff --git a/go.sum b/go.sum index 3be2a4f..e8daed7 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ github.com/kevinburke/ssh_config v1.6.0 h1:J1FBfmuVosPHf5GRdltRLhPJtJpTlMdKTBjRgTaQBFY= github.com/kevinburke/ssh_config v1.6.0/go.mod h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M= -golang.org/x/crypto v0.55.0 h1:+KWHjbgOaAQ66dh/YlkZKHlz9ZUlq61AFirAR9ntP8M= -golang.org/x/crypto v0.55.0/go.mod h1:uq0V9dE/fzQuJtbnL+2EhWOE63vo164FY8xqEnV9xis= +golang.org/x/crypto v0.56.0 h1:GUh5Ii4J5jtcseSMiRqr1jXCNHoxjeV9Fmekc2oLy6Y= +golang.org/x/crypto v0.56.0/go.mod h1:OMW5y6CY9l38uPLmxU6l6pwcXp1obtLo3e6gT7gQR2I= golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= From b7864056c22b7bea1ba211c0031f71fa79ad9c6c Mon Sep 17 00:00:00 2001 From: sasakiyugo Date: Sun, 6 Sep 2026 07:47:25 +0900 Subject: [PATCH 2/2] =?UTF-8?q?docs(lessons):=20remote=20=E6=A7=8B?= =?UTF-8?q?=E6=88=90=E3=81=AE=E9=80=80=E5=8C=96=E3=81=A8=20GitHub=20?= =?UTF-8?q?=E5=85=88=E8=A1=8C=203=20=E3=82=B3=E3=83=9F=E3=83=83=E3=83=88?= =?UTF-8?q?=E3=81=AE=E5=90=8C=E6=9C=9F=E3=82=92=E8=A8=98=E9=8C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 作業クローンの remote が GitLab 単一になっており、GitHub の master が Scoop manifest の出力先修正を含む 3 コミット先行していた。そのまま タグを打つと正本のリリースと bucket 更新が欠落するため、デュアルリモート 構成を復元して 3 者を揃えた経緯を残す。 Co-Authored-By: Claude Opus 5 (1M context) --- LESSONS.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/LESSONS.md b/LESSONS.md index 1cd2535..63af3de 100644 --- a/LESSONS.md +++ b/LESSONS.md @@ -471,3 +471,11 @@ #### 実機検証で確認できたこと / できなかったこと - 確認済み(loopback 実機 127.0.0.1): SSH_CONNECTION は EncodedCommand セッションで populate される / CLIXML 混入下でも実スペックを抽出できる / 実機 sshd が `laddr`/`lport` 込みスペックを exit 0 で受理する(フォールバックに落ちない)。 - 未確認(loopback では不可能): `Match Address`/`Match Host` ルール下での誤判定の実際の解消。loopback クライアントでは新スペックの `addr=127.0.0.1` が旧固定値と機能的に同一のため、本来のバグシナリオは exercise されない。修正は correct-by-construction。非 loopback クライアントでの検証は今後の課題。 + +--- + +## 2026-09-06: 作業クローンの remote が GitLab 単一に退化しており、GitHub master が 3 コミット先行していた + +- 却下した案: (A) remote 構成をそのままにし、GitLab を指す `origin` に対して依存更新のブランチを push する。(B) GitHub remote を追加するだけに留め、master の fast-forward と GitLab への push は保留する。 +- 決め手: `git remote -v` の出力が `origin git@gitlab.com:kwrkb/ssh-pushkey.git` の 1 件のみで、GitHub remote が存在しなかった。`gh api` で取得した GitHub の master は `6a567fb`、ローカルと `gitlab/master` は `8b91f5f`(乖離ではなく fast-forward 可能)。先行分 3 件には `574daf5 fix: write the Scoop manifest into bucket/` が含まれ、これは Scoop manifest の出力先修正。PLAN.md は GitHub Releases を配布の正本、Scoop manifest はそこから GoReleaser が生成すると定めているため、(A) のまま `v*` タグを push すると GitLab の release ジョブだけが走り、正本のリリースと bucket 更新が沈黙して欠落する。(B) では GitLab が 3 コミット遅れたままになり、次回 master push で非 fast-forward reject を招く。よって `origin` を `gitlab` にリネーム → `origin`=GitHub を追加 → master を `6a567fb` へ fast-forward → GitLab にも push、で 3 者を揃えた。CI・GoReleaser・Makefile は `origin` を参照していないことを grep で確認済み(参照は `.claude/CLAUDE.md` の記述のみ)。 +- 覆す条件: 配布の正本が GitHub Releases でなくなる、または Scoop bucket の manifest 生成が GitHub リリースに依存しなくなった場合。その時は remote の主従を再定義してよい。