Anthropicは、AIモデル「Claude」でソフトウェアの攻撃対象領域を調べ、外部から届く不要なコードを減らす研究の初期結果を公開しました。攻撃対象領域とは、外部の攻撃者がアクセスできるコードの範囲です。脆弱性を一つずつ探すだけでなく、使わない機能を認証の後ろに置いたり、初期設定で無効にしたりして、攻撃の入口を狭める考え方です。
同社はC、C++、Java、PHP、Pythonなどで書かれたオープンソースプロジェクト25件、合計500万行超を分析しました。Claudeは1万7000以上の設定項目を洗い出し、そのうち3842項目をセキュリティに関係するものと判定。設定の初期値や組み合わせ、認証前に動く処理を調べ、合計493件の問題を見つけたとAnthropicは説明しています。
OpenSSHで認証前のコードを削減
具体例は、リモート接続に使われるOpenSSHです。バージョン10.4では、実験中の耐量子暗号方式「ML-DSA-44」のコード約4500行に、認証前のクライアントが到達できる状態でした。初期設定でこの方式を有効にしていなくても、到達可能だったといいます。約4500行は、初期設定のOpenSSHで認証前に動くコードの約16%に当たります。
Anthropicは開発者に修正案を報告し、10.5で対策が入りました。その後、Claudeが対策の抜け道を2つ見つけ、追加修正がバージョン10.6に反映されました。同社によると、修正の結果、認証前に到達できるコードが約5分の1減りました。Anthropicはこの分析手法を再利用できる形にまとめ、脆弱性発見サービス「OSS Scanner」への組み込みを進めています。
見つかった問題の意味
報告された問題が、すぐに悪用できる脆弱性というわけではありません。Anthropicは、不要な到達経路を残すことで、まだ見つかっていない脆弱性が悪用される可能性や深刻さを高めかねない、と説明しています。
なぜ重要か
OpenSSHを管理する人にとっては、修正が10.5と10.6に反映されたことが実務上のポイントです。一方、Anthropicの手法がOSS Scannerに組み込まれるのは作業中で、他のソフトで同じ成果が得られるかはまだ分かりません。