AI News HubLIVE
站内改写

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が特に大規模で複雑な、またはレガシーなコードベースにおいて価値を発揮すると述べています。