Anthropicの研究チームは2026年10月20日、AIのClaudeを使って、オープンソースのソフトウェア25件の「攻撃される面」(外から届くコードの範囲)を調べた結果を公表しました。見つかった問題は493件です。とくに目立ったのは、エラーも警告も出さないまま安全の仕組みが外れる設定の組み合わせで、94件ありました。
OpenSSHでは、使わないと設定した署名の方式の解析のコードまで、認証の前に届いていました。開発者は10.5と10.6で、この確かめの順番を直しています。設定の書き方ひとつで守りが効かなくなる話は、サーバーを運用するどの会社にも関わります。
3つの調べ方で見つかった問題の数。認証が前提の11件で多かった出典: Anthropic「Using Claude to reduce the attack surface of code」(引用)
調査で分かったこと
| 項目 |
内容 |
| 対象 |
オープンソース25件、500万行超。C、C++、Java、PHP、Pythonなど |
| 分け方 |
誰でも使える公開型10件、認証が前提の11件、自分の環境向けの4件 |
| 設定の項目 |
1万7000以上を一覧にし、うち3842が安全に関わる |
| 見つかった問題 |
493件 |
| ソフトの名前 |
OpenSSHのほかは出していない |
調べ方は3つです。
- 既定の設定で届くコード: 出荷時の設定のまま外から届くのに、既定の機能では使わないコード
- 設定の組み合わせ: それぞれは妥当でも、一緒に使うと安全の仕組みが黙って外れたり、動きが決まっていないのにコードには届いたりする組み合わせ
- 早すぎる到達: 認証などの確かめより前に動く、安全に関わる複雑なコード
認証が前提のソフトは11件すべてで、認証前に届くコード
パスワードや鍵、証明書で利用者を確かめてから使う11件は、すべてに、意図せず認証前に届くコードがありました。
- 既定の設定での、不要な認証前の入口: 93件
- 認証の前にコードが動いたり、状態が記録されたりする場所: 37件
- 管理者が設定した認証前の守りを、黙って弱める設定の組み合わせ: 61件
Anthropicは、どれもそれだけで直ちに攻撃できるものではないとしています。ただ、まだ知られていない脆弱性があったときに、攻撃者が届く範囲を必要以上に広げます。
エラーも出さずに守りが外れる組み合わせ
エラーも警告も出ず、組み合わせたときの動きの説明も無い、安全に関わる設定の組み合わせは162件ありました。うち94件で、安全の仕組みが黙って外れていました。残りの68件は、設定では止めたはずの入口やログインの道が残っていたり、2つの設定のどちらが勝つかが設定ファイルの中の順番で変わったりする食い違いです。
記事は、次のような例を挙げています。
| 例 |
起きること |
| ホスト名やワイルドカードで書いた拒否のルール |
逆引き(IPアドレスからホスト名を調べる処理)が無効だと、サーバーはIPアドレスしか持たず、ホスト名の書き方のルールに一致しない。拒否のルールが効かず、通してしまう。関係の無い4つのソフトで別々に見つかった |
| クライアント証明書の必須化と、別の設定の組み合わせ |
確かめを後回しにするはずの設定が、確かめそのものを止めていた。信頼できる相手だけを通すはずのサーバーが、誰でも受け入れる |
| クライアント証明書を求める設定 |
多くの入口では効くが、一部の入口では無視される。設定の名前の書き方(長い形と、例によく使われる短い形)で効くかどうかが変わり、無視されたことはログに残らない |
ホスト名のルールが逆引きを前提にすることを説明書に書いているソフトもありましたが、拒否の一覧がこの書き方では通してしまうと書いたものは無かったとしています。
OpenSSHでの例
Anthropicによると、OpenSSH 10.4のサーバー(sshd)では、量子計算機に備える新しい署名の方式ML-DSA-44の解析のコード約4500行に、認証前の相手が既定の設定のまま届きました。この方式は既定では有効ではなく、管理者が使わないと明示していても、サーバーは相手が送った鍵を先に解析し、そのあとで許可された方式かを確かめていました。この4500行は、既定のsshdで認証前に届くOpenSSH自身のコードの約16%にあたります。
| 版 |
公開日 |
直したこと(OpenSSHのリリースノート) |
| 10.5 |
2026年8月11日 |
相手が送った公開鍵の方式を、許可した方式と照らす確かめを、鍵の解析の前に移した |
| 10.6 |
2026年10月6日 |
鍵と認証局の署名の方式を、解析の途中でできるだけ早く許可の一覧(PubkeyAcceptedAlgorithmsなど)と照らすようにした。無効にした方式が攻撃される面を減らす |
OpenSSH 10.6のリリースノート。無効にした方式の攻撃される面を減らす出典: OpenSSH「OpenSSH 10.6 release notes」(引用)
10.5のあとも、相手が名乗る方式と鍵の中身の方式が違う場合や、証明書の中の認証局の署名を設定の確かめより先に検証する道が残っていたため、10.6で解析の中に確かめを入れました。Anthropicは、この直しで、既定の設定で認証前の相手が届くOpenSSHのコードの約5分の1が無くなったとしています。10.6は、Matchの中で「none」を指定した一部の設定が、ファイルの名前として扱われていた不具合も直しています。
OpenSSH 10.6は、型の取り違えの脆弱性も直した版です(OpenSSHに型の取り違えの脆弱性、10.6未満の版と設定を確認)。
調べ方は道具にまとめる
Anthropicは、3つの調べ方を1つの手順にまとめ、オープンソースのプロジェクトを定期的に調べる仕組み(OSS Scanner)に組み込む作業をしているとしています(Anthropic、サイバー防御構想を発表 重要インフラとOSSを支援)。見つけたものは実際に動かして確かめ、既定以外の設定の動きを変える直しは、人が決めるよう分けているとしています。
記事は、ふだんの記録と設定を見比べ、使っていない解析の機能、古いプロトコル、管理画面などを止めることも、少ない手間で危険を減らすとしています。
影響する会社・しない会社
- 影響する: OpenSSHのサーバーを動かしている会社。10.6より前の版では、使わないと決めた署名の方式のコードにも、認証前に届く道がありました
- 影響する: ホスト名やワイルドカードで書いたアクセスの制限や、クライアント証明書の必須化で守っているサーバーやプロキシを運用する会社。設定どおりに効いているかを確かめる価値があります
- 確かめる: オープンソースを組み込んだ製品や機器を使う会社。今回のソフトの名前はOpenSSHのほか公表されていないため、メーカーの更新の知らせを見ます
- 影響が小さい: 外から届かない、社内だけのサーバー。ただし、社内でも認証の前に届く範囲は狭いほど安全です
情シスが今日やること
- OpenSSHを10.6以降にします。 配布元の修正版でもかまいません。PubkeyAcceptedAlgorithmsなどで方式を絞っていても、古い版では絞った方式の解析が認証前に動いていました。
- ホスト名で書いたアクセスの制限を見直します。 逆引きを止めているサーバーで、ホスト名やワイルドカードの拒否のルールが効いているかを確かめます。効かないなら、IPアドレスで書くか、外から接続して実際に断られるかを試します。
- 認証の設定が、すべての入口で効いているかを外から試します。 クライアント証明書を求めるサーバーに、証明書なしでつないで断られるかを、入口ごとに確かめます。設定の名前の短い形と長い形で動きが違う製品もあります。
- 使っていない機能を止めます。 使っていない解析の機能、古いプロトコル、管理画面などを、記録と見比べて止めます。
- 「エラーが出ない」で確かめを終えません。 設定を変えたら、意図どおりに断られること、記録が残ることまでを試験の項目に入れます。