Microsoft Application Inspector によるソースコード解析手順


※2020/01/27 tagdiff も追加

概要

  • Microsoft Application Inspector を使ってソースコード解析する手順、使い方をメモする。
  • tagdiff はバージョンアップ時の比較で使えそう。
    • バージョン1 と バージョン2 を比較して、想定外の(ネットワーク|ファイル)アクセスなどが無いか?を検知できる。

対象環境

  • Windows を想定

セットアップ手順

ApplicationInspector のダウンロード

  1. https://github.com/microsoft/ApplicationInspector/releases に移動
  2. 一番上にある最新の ApplicationInspector_windows_<バージョン>.zip をダウンロード

展開と PATH 設定

  1. ダウンロードした zip を展開
  2. 必要に応じて AppInspector.exe が存在するディレクトリを PATH に含める

解析実行(analyze)

PowerShell やコマンドプロンプトを開いて以下コマンドを実行する

> AppInspector.exe analyze -s <ソースコードのディレクトリ>
解凍場所で実行した例
c:\download\ApplicationInspector_windows_1.0.21\ApplicationInspector_1.0.21> .\AppInspector.exe analyze -s C:\workspace\java\sample_application

レポート確認

  1. AppInspector.exe を実行した場所に output.html が出力されているのでブラウザで開く
  2. 青い View Report ボタンをクリック

比較実行(tagdiff)

PowerShell やコマンドプロンプトを開いて以下コマンドを実行する

> AppInspector.exe tagdiff --src1 <ソースコードのディレクトリ> --src2 <別のソースコードのディレクトリ> -o output.txt

レポート確認

  1. 処理結果がコンソールに出力される。


2. AppInspector.exe を実行した場所に -o で指定した output.txt が出力されているのでテキストエディタで開く

備考

  • バージョンアップの頻度が高いのでうまく動かない場合は最新版で動かしてみるとうまくいくかも
  • 手元にあった Nuxt.js のプロジェクトはエラーになった
  • 手元にあった Java の Gradle プロジェクトは解析できた

関連リンク