Anthropicは10月20日(米国時間)、生成AIモデル「Claude」を活用してソフトウェアのアタックサーフェス(攻撃対象領域)を分析・削減する研究成果を公開した。同社は25のオープンソースソフトウェア(OSS)を対象に検証を実施し、493件のセキュリティ上の問題を発見したという。

脆弱性を探すのではなく攻撃面そのものを減らす

WordPressやPHP、OpenSSHなど、長年利用されているソフトウェアでは、既知の脆弱性だけでなく、開発の過程で追加された機能や設定が攻撃対象領域を広げる要因になり得る。

近年は生成AIを活用した脆弱性発見や攻撃コード生成が注目されているが、同社は未知の脆弱性を個別に探し出すだけでは限界があると指摘する。そこで、攻撃者が到達できるコードを減らすことで、未知の脆弱性が存在していても悪用されにくい状態を目指す、攻撃面削減(Attack Surface Reduction)に焦点を当てた。

  • AnthropicはClaudeを用いてソフトウェアの攻撃対象領域を削減する研究成果を公開した

    AnthropicはClaudeを用いてソフトウェアの攻撃対象領域を削減する研究成果を公開した

Anthropicによると、長期間にわたり開発が続くソフトウェアでは、機能追加や依存関係の増加に伴ってコードが複雑化し、本来不要な機能やコードが外部から到達可能な状態で残り続けるケースが少なくないという。

今回の研究ではClaudeがコードベースを解析し、デフォルト構成で不要に公開されている機能や、複数の設定の組み合わせによってセキュリティ機能が無効化されるケース、認証前に実行される不要な処理などを特定した。

同社はC、C++、Java、PHP、Pythonなどで開発された25のOSS、500万行超のコードを解析。Claudeは1万7000件以上の設定項目を洗い出し、そのうち3842件をセキュリティに関連する設定として分析したという。

25のOSSを解析し493件の問題を発見

検証の結果、Claudeは合計493件の問題を検出した。このうち認証を前提とする11のプロジェクトでは、デフォルト構成で不要に到達可能となっていた認証前コードを93件発見したほか、認証前にコードが実行されるケースを37件確認した。さらに61件では設定の組み合わせによって認証前のセキュリティ機構が弱体化する問題が見つかった。

また、162件では複数の設定を組み合わせた際にセキュリティ機能が意図せず無効化されたり、設定内容と実際の挙動が一致しなかったりする問題を確認した。94件ではセキュリティ制御が黙って無効化されていたという。

Anthropicは、こうした問題の多くは単独で直ちに悪用可能なものではないものの、攻撃対象領域を不必要に広げる要因になると説明している。

OpenSSHでは未認証で到達可能なコードを削減

ケーススタディとして取り上げられたのが、リモートアクセスソフトウェアのOpenSSHだ。ClaudeはOpenSSH 10.4を分析した結果、デフォルト構成でも未認証ユーザーが到達可能だった約4500行のML-DSA関連コードを発見した。これは量子耐性暗号に対応する実験的な署名アルゴリズムの処理コードだったという。

AnthropicはOpenSSH開発チームにパッチを提案。その後も複数回の修正を経て、認可チェックをコード解析や署名検証より前に実行する仕組みが導入された。最終的に同修正はOpenSSH 10.6へ取り込まれた。

同社は、世界でも特に監査が徹底されているOpenSSHであっても不要なコード到達経路が残っていたことは、攻撃面削減の有効性を示していると説明する。

Anthropicは今回の手法をClaude向けスキルとして実装しており、OSS向け脆弱性発見サービス「OSS-Scanner」への統合も進めている。今後は未使用パーサーやレガシープロトコル、不要な管理ダッシュボードの検出などにも適用し、ソフトウェア全体のセキュリティ向上につなげたい考えだ。