ARM、AI駆動のセキュリティコードレビューツール「Metis」をオープンソース化
ARMのプロダクトセキュリティチームが、深層セキュリティコードレビューのためのエージェンティックAIフレームワーク「Metis」をオープンソース化しました。LLMによる意味理解、RAGによるコンテキスト取得、複数言語とプラグイン対応を特徴とし、複雑なコードベースでの微細な脆弱性の検出とレビュー疲れの軽減を目指します。
記事インテリジェンス
要点
- MetisはARMが開発したオープンソースのAIセキュリティコードレビューフレームワークで、LLMとRAGを利用。
- C、C++、Python、Rust、TypeScriptなど多数の言語に対応し、プラグインで拡張可能。
- インデックス作成、コードレビュー、パッチレビュー、トリアージ、CI/CD統合などの機能を提供。
- Apache 2.0ライセンスで、OpenAIやローカルモデルを含む複数のLLMバックエンドをサポート。
重要な理由
このニュースが重要なのは、MetisはARMが開発したオープンソースのAIセキュリティコードレビューフレームワークで、LLMとRAGを利用ためです。
技術的影響
モデル選定、推論コスト、プロダクト能力、評価基準に影響する可能性があります。
ARMのプロダクトセキュリティチームは、エージェンティックAIに基づく深層セキュリティコードレビューフレームワーク「Metis」をオープンソースとして公開しました。Metisはギリシャ神話の知恵の女神にちなんで名付けられ、従来の静的解析ツールでは見逃されがちな微細な脆弱性を発見し、セキュアコーディングの実践を向上させ、コードレビューに伴う疲労を軽減することを目的としています。
従来のlinterや静的解析ツールとは異なり、Metisはハードコードされたルールに依存せず、大規模言語モデル(LLM)を利用して意味理解と推論を行います。検索拡張生成(RAG)技術により、モデルはより広範なコードコンテキストや関連ロジックにアクセスでき、より正確で実践可能な提案を提供します。
Metisはプラグインアーキテクチャを採用し、C、C++、Python、Rust、TypeScript、Go、Solidity、Verilogなど複数のプログラミング言語をサポートします。各言語には組み込みプラグインがあり、tree-sitterベースの構文解析、フロー解析、構造解析が可能です。さらに、Setuptoolsエントリポイントを使用して、新しい言語のサポートを簡単に追加できます。
このツールは、デフォルトのChromaDBと、大規模インデックス用のPostgreSQL(pgvector拡張機能付き)を含む複数のベクトルストアバックエンドをサポートします。対話型CLIと非対話型モードの両方を提供し、CI/CDパイプラインに統合できます。主要コマンドには、index(コードベースのインデックス作成)、review_code(コードベース全体のセキュリティレビュー)、review_file(単一ファイルのレビュー)、review_patch(パッチのレビュー)、update(インデックスの増分更新)、ask(コードベースに関する質問)、triage(SARIF結果のトリアージ)が含まれます。
Metisの設定はYAMLファイルで行い、LLMプロバイダ、エンジンの動作、データベース接続などのパラメータをカスタマイズできます。プロンプトテンプレートもカスタマイズ可能で、より厳格な監査、プライバシーレビュー、コンプライアンス要件に対応できます。カスタムプロンプトファイル(.metis.md)を使用して、組織固有のセキュリティポリシーを注入することも可能です。
出力面では、MetisはSARIF形式のレポートを生成し、内部検証メカニズムにより誤検出を低減します。OpenAI、vLLM、Ollama、LiteLLMなど、複数のLLMサービスをサポートし、クラウドモデルとローカルモデルの両方を利用できます。
MetisはApache 2.0ライセンスの下で提供され、GitHubで560以上のスターと89のフォークを獲得しています。ARMチームは、Metisが特に大規模で複雑な、またはレガシーなコードベースにおいて価値を発揮すると述べています。