米Microsoft、ソースコード解析ツール「Application Inspector」を公開

 米Microsoftは1月16日、オープンソースコンポーネントのセキュリティ問題を分析できるツール「Microsoft Application Inspector」をオープンソースで公開したことを発表した。

 Microsoft Application Inspectorは静的にソースを分析するためのコマンドラインツール。.NET Coreで実装されており、WindowsおよびmacOS、Linuxで動作する。JSONベースで設定できるルールエンジンを利用して対象を分析し、そのコンポーネントがどのような機能を提供しているのか、内部的にOSやフレームワーク、ライブラリのどのような機能を使っているのかを調査する。たとえば対象のコンポーネントが暗号化技術を使っているか、遠隔とのやりとりを行っているか、どのプラットフォームで動いているのかといった情報が分かるという。結果はJSONやHTMLなど様々な方式で出力される。

 元々はMicrosoft社内で外部のオープンソースコンポーネントを安全に使用するために開発されたツールで、通常の静的解析ツールとは異なり、プログラミング慣行だけでなく、手動のインスペクションでなければ発見が難しいようなコードの特徴も検出できるとしている。たとえばMicrosoft社内では、特定のオープンソースコンポーネントのバージョンが変わると機能セットがどう変化しているのかを調べるのにApplication Inspectorを使っているという。これにより、悪意あるバックドアや攻撃可能領域が広がっているなどのことが分かるという。

 主要なプログラミング言語をサポートし、検出パターンとしてはアプリケーションフレームワーク(開発、テスト)、クラウド/サービスAPI(Microsoft Azure、Amazon AWS、Google Cloud Platform)、暗号化(対称、非対称、ハッシュ、TLS)、データの種類(個人を特定できるPIIなど)、OS機能、セキュリティ(認証、認可)などの分野で合計500以上のルールパターンがあるという。なお、結果は「良い」「悪い」といった形ではなく、単に検出した結果のみを報告する。

 Microsoft Application Inspectorはプロジェクトのページより入手できる。

Microsoft Application Inspector
https://github.com/Microsoft/ApplicationInspector