Skip to main content

脆弱な依存関係を修正するIntelliJプラグイン

著者
Headshot of Aner Mazur

Aner Mazur

2018年10月2日

0 分で読めます

Snykは、IDEから離れることなく依存関係の脆弱性を見つけて修正できるIntelliJプラグインをリリースしました。

開発者が自らセキュリティを担えるよう支援するというSnykの取り組みの一環として、GitHub、GitLab、Bitbucketとの包括的なGit連携の実現に多くの投資を行ってきました。これにより、開発プロセスの一部として脆弱性を見つけ、修正できるようになります。

これはSnykの成功を支える重要な要素です。すべてのプルリクエストをスキャンし、コードリポジトリの変更を継続的に監視できるようになりました。

今度は、開発者がコードをコミットする前、つまり最も多くの時間を過ごす環境で、脆弱性に対処できるようにしたいと考えています。IntelliJ内で動作し、JVM上で直接実行できるように開発されたこのプラグインを使えば、IntelliJを離れることなく、Snyk Open Sourceのセキュリティテストと具体的な修正アドバイスを利用できます。Nodeのインストールも不要です。

このプラグインはすべてのMavenプロジェクトに対応しており、無料で利用できます。

はじめに

Snykプラグインは標準的なIntelliJプラグインです。インストール方法を簡単にご紹介します。

IntelliJ IDEA > Preferences > Pluginsに移動します。

IntelliJ IDEAのアプリケーションメニューが開き、「Preferences」が選択されています。更新の確認や各種サービスへのアクセスなどの項目も表示されています。

Snykを検索し、「Snyk Vulnerability Scanning」プラグインをインストールします。

検索結果で「Snyk Vulnerability Scanning」が選択された、Pluginsセクションを表示しているIntelliJ IDEAの設定画面

プライバシーに関する通知に同意し、IntelliJ IDEを再起動すると、画面右下に小さなタブとしてSnykプラグインが表示されます。

まだの場合は、GitHubアカウントを使ってSnykにログインしてください。ログイン後、スキャンするプロジェクトを簡単に選択できます。

org.snyk.groceries:spring-goof:0.0.1-SNAPSHOTとio.github.snyk:todolist-web-struts:0.0.1が表示されたIntelliJのプロジェクト選択ダイアログ

脆弱性を見つけて修正する

プロジェクトをスキャンすると、検出されたすべての脆弱性の一覧が表示されます。以下は、シンプルなSpringのデモアプリケーションでの例です。

任意コード実行の脆弱性と推奨されるアップグレードの詳細が、Maven依存関係とともに表示されたIntelliJ IDEAのコードエディター。

各脆弱性について、脆弱性の種類を含むタイトルと詳細リンクが表示されます。詳細リンクから、脆弱なバージョンの範囲や悪用方法などを詳しく確認できます。

脆弱性の原因となったオープンソース依存関係はグレーで表示されます。以下の例のように、それが推移的依存関係であることも少なくありません。追加した直接依存関係から脆弱な依存関係に至るまでの完全な依存関係パス(途中のすべてのパッケージを含む)を確認できます。

Snyk IntelliJプラグインはアップグレードの推奨バージョンを(太字の緑色で)表示します。これは脆弱性を解消するために必要な最小のアップグレード先です。さらに、アップグレード後の依存関係ツリー全体を(緑色の枠内に)確認できます。

直接依存関係をクリックすると、定義されているpom.xmlの場所に移動するので、簡単にアップグレードを適用できます。

今後の展開にご期待ください…

今後は、まずMavenに加えてGradleとSbtにも対応し、皆さんが利用している他のIDEへの対応も進める予定です。また、コミュニティの皆さんから寄せられるフィードバックも取り入れていきます。それでは、楽しいコーディングを!

CTFを始めよう

オンデマンドのバーチャル入門ワークショップを視聴して、CTFの課題の解き方を学びましょう。

カテゴリー: