【Gem更新】 Omamoriがファイル・ディレクトリ単位での解析に対応しました

Omamori Gemアップデートのお知らせ

Omamoriは、Rubyコードに潜むセキュリティ脆弱性を、静的解析とAIの力で見つけ出すお手伝いをするGemです。
Omamoriの詳しい内容については、以前のリリース記事をご覧ください。

rira100000000.hatenablog.com

より便利にお使いいただけるよう、いくつかの新機能を追加しました。

主な改修内容

1. ファイルやディレクトリを指定してスキャン可能に

これまでOmamoriでは、ステージされた変更(git diff --staged)か、プロジェクト全体のいずれかをスキャン対象としていました。今回のアップデートにより、特定のファイルやディレクトリを指定してスキャンを実行できるようになりました。

例えば、以下のようにコマンドを実行します。

omamori scan /path/to/your/file.rb /path/to/your/directory

これにより、気になる箇所だけをピンポイントで、素早く診断できます。

2. .omamoriignore ファイルの導入で、スキャン対象をコントロール可能に

.omamoriignore ファイルを導入しました。
このファイルに記述されたファイルやディレクトリは、Omamoriのスキャン対象から除外されます。
記述方法は .gitignore と同様で、1行に1つのパターンを記述します。

.omamoriignoreはこんな感じです

.omamoriignore が有効になるモード:

  • omamori scan --all (プロジェクト全体スキャン)
  • omamori scan /path/to/file ... (ファイル/ディレクトリ指定スキャン)

.omamoriignore が無効になるモード:

  • omamori scan (ステージされた変更のみをスキャンするdiffモード)
    • diffモードでは、あくまで git diff --staged で取得された変更点のみをスキャン対象とするため、.omamoriignore の設定は適用されません。
  • --force_scan_ignored オプション指定時
    • omamori scan /path/to/directory --force_scan_ignored のようにオプション指定することで、.omamoriignoreを無視してスキャンが行われます。

3. omamori init で .omamoriignore を自動生成

omamori init コマンドを実行すると、基本的な設定ファイルである .omamorirc に加えて、一般的なRuby on Railsプロジェクトで無視されうるファイルやディレクトリのパターンが記述された .omamoriignore ファイルも自動で生成されるようになりました。

生成された .omamoriignore ファイルをプロジェクトに合わせて編集することで、より快適にOmamoriをご利用いただけます。
今回のアップデートにより、Omamoriがさらに使いやすくなったかと思います。ぜひ新しいバージョンをお試しください。