2026年10月、認証局 eMudhra の中間 CA 8つの秘密鍵が漏れていたことが分かりました。Apple の告知によると、うち6つは TLS の証明書を出す CA で、その鍵があれば「どのサイトのものにも見える証明書」を作れます。Apple は 10/19 から止めています。
では、開発で毎日使う道具はどうか。 Windows 10 で、検査サイトに当てて確かめました。
結論: 同じ PC の中でも、道具によって答えが割れました。通したのは、10月下旬に出た修正版へ上げていない道具でした。
eMudhra の検査サイトにつながるか(Windows 10、2026-10-29)
止めた=証明書のエラーで拒否 / 通した=つながった(流出した中間 CA を信じている)
curl.exe(Windows 同梱) 止めた
PowerShell 5.1 の Invoke-WebRequest 止めた
pip 26.2.1 止めた
git 2.50.0.windows.2(手元の版・既定の設定) 通した → 2.56.0.windows.4 は止めた
Node.js 22.19.0 通した → 22.23.4・24.22.1・26.12.1 は止めた
certifi 2026.06.17(requests などが使う) 通した → 2026.10.23 は止めた
Claude Code 2.1.300 の WebFetch 通した → 2.1.305・2.1.312 は止めた
Claude Code 2.1.312 の Bash から呼んだ git 通した(PC の git 2.50.0 を呼ぶため)
検証環境: Windows 10 Home(19045)/ 測定は 2026-10-29
確かめ方
検査サイトは、Git for Windows のリリースノートもリンクしている emudhra.we-have-a-problem.com です(有志の運営。日本語のページあり)。つながったら、その道具は流出した中間 CA を信じている、と読みます。git は次の1行で確かめられます。コミットの一覧が返ったら通しています。
git ls-remote https://git-emudhra.we-have-a-problem.com/check.git
curl などは、dv-g3b-emudhra ほか4か所(いずれも .we-have-a-problem.com)に当てました。名前に aaa が付く2か所は、Sectigo の相互署名を経由する経路です。
Git for Windows: 2.50.0 は通し、2.56.0.windows.4 は止めた
手元の git は 2.50.0.windows.2 で、インストーラーが書いた設定は http.sslBackend = openssl でした。この場合、同梱の ca-bundle.crt で確かめます。
git 2.50.0.windows.2(openssl・既定) → 通した(HEAD と refs/heads/main が返った)
同じ git に -c http.sslBackend=schannel → 止めた(CRYPT_E_REVOKED)
MinGit 2.56.0.windows.4(openssl・同梱の証明書) → 止めた(unable to get local issuer certificate)
新しい版は、インストールせずに試せる最小版(MinGit)で測りました。2.50.0 の ca-bundle.crt には emSign ECC Root CA - G3 と Comodo AAA Services root があり、2.56.0.windows.4 のものには、どちらもありません。Git for Windows は 10/22 の 2.56.0.windows.3 を、eMudhra の件のセキュリティ修正として出しています。
同じ Git for Windows の curl は止めていました。 こちらは schannel(Windows の TLS の仕組み)を使い、「証明書が失効しています。」で拒否しています。
Claude Code: WebFetch は 2.1.305 から止めた。Bash から呼んだ git は通した
Claude Code の WebFetch に、検査サイトを取りに行かせました(claude -p。日付は npm に出た日、日本時間)。
2.1.283(9/26) emSign 側の2か所は通した。aaa の2か所は止めた(unable to get local issuer certificate)
2.1.300(10/14) 通した(dv-g3b の1か所だけ測った)
2.1.305(10/21) 止めた(certificate rejected。1か所だけ測った)
2.1.312(10/28) 4か所とも止めた(certificate rejected)
2.1.283 で通したときは、WebFetch の結果にページの「Your client successfully connected to the site. That's bad!」が入っていました。変更履歴(CHANGELOG.md)には、この修正の記載が見つかりませんでした。
ただし、git は別です。 2.1.312 の Bash ツールで git ls-remote を実行させると、コミットの一覧が返りました。Claude Code は PC の git(ここでは 2.50.0)を呼ぶので、WebFetch が直っていても git は古いままです。
Node.js と Python
Node.js 22.19.0 は、4か所とも通しました。 22.23.4・24.22.1・26.12.1 は4か所とも CERT_REVOKED で止めています。10/21 のセキュリティリリースに「ca-cert (eMudhra Intermediate CA Compromise)」が入っていました。
pip 26.2.1 は止めました。 エラー文は Windows の「証明書が失効しています。」でした。pip は 24.2 から、certifi に加えて OS の証明書も使います(pip の公式ドキュメント)。
certifi を直接使う道具は別です。 pip に同梱の certifi 2026.06.17 を Python から使うと、emSign 側の2か所を通しました。2026.10.23 では止まりました。requests は certifi を使います。
自分の PC で見るところ
git --version # 2.56.0.windows.3 より前なら上げる
node --version # 22.23.4 / 24.22.1 / 26.12.1 より前なら上げる
pip show certifi # 2026.06.17 は通した。2026.10.23 は止めた
claude --version # 2.1.300 は通した。2.1.305 以降は止めた
git をすぐ上げられないときは、http.sslBackend を schannel にしても手元では止まりました。ただし Windows の証明書ストアを使うようになるので、社内の証明書を ca-bundle.crt に足している場合は、確かめてから切り替えてください。
言えないこと
- Windows 10 の1台だけです。macOS・Linux は測っていません
- 「つながったら信じている」という読み方は、検査サイトの説明に従いました
- Claude Code の 2.1.301〜2.1.304、Node.js 22.19.0 以外の修正前の版、インストーラーで入れた新しい Git for Windows は測っていません
- 結果は 2026-10-29 のものです
まとめ
ブラウザや OS が止めても、開発の道具はそれぞれ自分の証明書の束を持っていて、別々に直ります。Claude Code の WebFetch が直っていても、Bash から呼ぶ git は PC の git のままです。
git --version と node --version を見て、修正前の版なら上げます。 手元の Git for Windows は 2.50.0 のままで、証明書の束のファイルは2025年7月の日付でした。
関連記事
- 今週の PHP・LiteLLM の脆弱性を Claude Code に探させたら、Web 検索ありで6回中5回見つけた — 前日に出した、守りの確認の回
- Claude Code の守りのフックは、台本が壊れると黙って通す。2.1.295 の onFailure で止まった — 守りの設定を測った回
JQITのエンジニアの95%以上は未経験からの採用です。
よければコーポレートサイトにも遊びに来てください。
エンジニア採用も行っています。もしご興味あれば覗いてみてください。
▶ 採用サイト