Skip to main content

Snykの新しいJetBrains IDEプラグインで安全なコーディングを実現

Blog Design JetBrains IDE plugin

2021年4月7日

0 分で読めます

開発者がコーディングしながらセキュリティの問題を簡単に見つけて修正できる、JetBrains IDE向けの新しいプラグインをリリースしました。

Snykの新しい無料JetBrains IDEプラグインを使えば、IntelliJ IDEA、WebStorm、PyCharmを利用する開発者は、オープンソース依存関係に含まれる既知の脆弱性に加え、自分のコードに潜むセキュリティの問題やバグも簡単に見つけて修正できます。このプラグインを活用すれば、開発者はワークフローを妨げられることなく、アプリケーションの開発中にコードベース全体のセキュリティに対処でき、安全なコードをより迅速にリリースできます。

IntelliJ IDEAでJavaコードを表示し、Snykパネルでパスワード処理に関する重大度の高い脆弱性と推奨される修正方法を強調表示している画面。

この新しい統合機能は現在、IntelliJ IDEA、WebStorm、PyCharmのみで利用できますが、どのJetBrains IDEでもプラグインを使ってオープンソース依存関係の脆弱性をスキャンできます。

対象には次のIDEが含まれます。

  • Android Studio

  • AppCode

  • GoLand

  • PhpStorm

  • Rider

  • RubyMine

スピードとセキュリティは両立できる

開発者は、より速くコードを提供するよう常に求められています。同時に、そのコードにセキュリティの問題やバグがないことも期待されています。しかし、迅速な開発と安全なコードという2つの要件は、これまでしばしばどちらかを犠牲にして成り立っていました。コードを確認せず、セキュリティテストも行わずに本番環境へ投入すれば、リスクが生じます。一方、開発プロセスの後半でセキュリティチェックを行うと、開発が遅れる可能性があります。ビルド中やその後にテストを実施すると、開発者はコードに戻って問題を特定し、修正を適用して、統合、テストを行い、再度ビルドを開始しなければなりません。

DevSecOpsの導入や、セキュリティに関する責任を開発者により多く担ってもらうという考え方が、スピードを犠牲にせず安全なコードを提供する方法として、開発チームやセキュリティチームに広がっています。開発者がセキュリティに主体的に取り組めるようにするには、ソフトウェア開発ライフサイクルのできるだけ早い段階から、できるだけ簡単な方法でセキュリティを開発ワークフローに組み込める必要があります。

Snykの新しいJetBrainsプラグインは、まさにそれを支援するために開発されました。アプリケーション内のさまざまなセキュリティの問題を可視化するこの新しいIDEプラグインは、高速かつ正確で使いやすく、IDEで最初のコードを書いた時点からセキュリティと品質のテストを開発者が組み込めるようにします。

詳しく見ていきましょう。

これひとつで、すべてに対応!

プロジェクトに取り込むオープンソース依存関係の脆弱性を特定するプラグインと、自分のコードに潜むセキュリティの問題やバグを特定する別のプラグインを使うと、ツールを切り替える手間が発生し、開発時間も無駄になります。

Snykの新しいJetBrainsプラグインはこうした煩わしさを解消し、ソフトウェア構成分析(SCA)と静的解析(SAST)をひとつに統合します。これにより、IntelliJ IDEA、WebStorm、PyCharmを使う開発者は、コードに関するさまざまなセキュリティと品質の問題をすべてまとめて確認できます。

任意コード実行の脆弱性の詳細、重大度評価、修正ガイダンス、コード修正例を表示するセキュリティダッシュボード。

高速・高精度、そして無料

Snykの新しいJetBrainsプラグインは、開発ワークフローへの影響を最小限に抑えるよう設計されています。開発者はコードを分析し、数秒で結果を確認できます。

プラグインの設定は簡単です。ほかのJetBrainsプラグインと同様に、IDE内から直接ダウンロードしてインストールするか、JetBrainsマーケットプレイスから入手できます。

IntelliJ IDEAのプラグインマーケットプレイスに、説明と「インストール」ボタンが表示されたSnyk Vulnerability Scannerプラグイン

インストール後は、プラグインからさまざまな種類のセキュリティスキャンを簡単に実行し、IDE内で結果を確認できます。IDEプラグインを支えるAIエンジンにより、スキャンの実行速度と結果の精度が高まり、開発者に極めて迅速なフィードバックを提供します。

セキュリティプラグインのスキャンでは、市場で最も網羅性の高いSnykの脆弱性データベースを使用します。結果には、開発者が迅速に対応できるよう、豊富な情報が表示されます。

しかも、このプラグインは完全無料です!Snykのユーザーであれば、無料ユーザーを含め、JetBrains IntelliJ、WebStorm、PyCharmを使っている方は誰でもプラグインをダウンロードし、コードの問題をスキャンできます。

安全なコーディングを始めよう

始め方は簡単です。JetBrains IDEから、インストール、接続、スキャンの3つのステップでプラグインを設定できます。

まず、IDEでPreferences > Pluginsを開きます(現在対応しているのはIntelliJとWebStormのみです)。JetBrainsマーケットプレイスでSnykを検索し、OKをクリックしてプラグインをダウンロード、インストールします。

IntelliJ IDEAにJavaプロジェクトのツリーと、エディター内に日付を解析するJavaScriptコードが表示されています。

次に、プラグインをSnykアカウントに接続します(無料のSnykアカウントをまだ作成していない場合は、こちらをクリックしてください)。プラグイン画面のConnect your IDEto Snykボタンをクリックし、画面の指示に従って認証します。

SnykパネルにIDEをSnykに接続するよう促すメッセージが表示された、Javaコードを表示中のIntelliJ IDEA。

これで準備完了です。あとはSnykのテストを実行するだけです。Analyze nowボタンをクリックすると、Snykのセキュリティテストが始まります。数秒後、プラグインに検出されたさまざまな問題が、次の3つのカテゴリに分類されて表示されます。

  • オープンソースセキュリティ - プロジェクトに取り込んだ、直接および間接(推移的)なオープンソース依存関係に含まれる既知の脆弱性

  • コードセキュリティ - 自分のコードに見つかったセキュリティ上の弱点

  • コード品質 - 自分のコードにおける品質上の問題

IntelliJ IDEAにJavaのソースコードとSnykパネルが表示され、オープンソースの脆弱性とコードのセキュリティ問題を分析するために49個のファイルを準備しています。

問題の修正を始めるには、いずれかのカテゴリをクリックしてツリービューを展開します。

オープンソース依存関係の脆弱性については、プラグインが脆弱性の混入経路を説明し、アップグレード先として推奨される依存関係のバージョンを示して修正方法を案内します。Snykの脆弱性データベースへのリンクからは、CVSS、CVE、CWEなど、問題に関する詳しい情報を確認できます。

Apache Commons FileUploadにおける任意コード実行の脆弱性を示すセキュリティレポート。CWE、CVE、CVSS、影響を受けるバージョンと修正済みバージョンを掲載。

開発者自身のコードにおけるセキュリティと品質の問題については、該当するファイルと問題につながるコード行を示しながら、データフローの詳細を確認できます。ファイル名をクリックすると、問題の原因となった行をすぐに開けます。データフロー分析により、問題とアプリケーション内での伝播経路を把握でき、複雑な問題も理解しやすくなります。

プラグインの機能はそれだけではありません。コードの問題点を示すだけでなく、ほかの開発者による修正例も提供するため、より迅速な対応に役立ちます。

BCryptによるパスワードのエンコードを推奨する重大度の高い脆弱性の通知。外部の修正例3件とコードの差分を表示。

IDEに問題が大量に表示されるのでは、と心配ですか?ご安心ください。Snykプラグインにはフィルタリング機能が組み込まれているため、修正の優先順位を簡単に決められます。

まず、複数種類のスキャンを実行する代わりに、特定のスキャンだけを実行できます。プラグイン画面の上部にあるScan For Issue Typesフィルターをクリックし、実行したいスキャンの種類を選んで、スキャンを再実行します。プラグインには、そのスキャンの結果だけが表示されます。

次に、スキャンで見つかった問題を確認する際、最も大きな脅威となる、重要度が高い問題の修正を優先できます。Severityフィルターを使って絞り込んでください。

Snykのセキュリティ検出結果(コマンドインジェクション、クロスサイトスクリプティング、リソース割り当ての脆弱性など)が表示された、JavaScriptコードを含むWebStorm IDE。

このプラグインの使い方について詳しくは、IntelliJ IDEAでコーディングしながらJavaのセキュリティ問題を修正する方法に関するブログをご覧ください。

最初からコードを安全に

IDE内でコードをテストすれば、開発の早い段階で問題を検出でき、ソースコード管理システムにコードをコミットする前に対処できます。ソフトウェア開発の後半で重大な脆弱性が見つかると、修正に時間がかかり、技術的にも難しくなってからコードを作り直さなければなりません。コードを追加したその時点でテストするほうが、効率的で生産性も高まります。

ビジネスの要件として、開発のスピードは欠かせません。同時に、開発者や所属組織をセキュリティリスクにさらさないことも重要です。Snykの新しいJetBrains IDEプラグインは、どちらかを犠牲にすることなく、開発者が両方の要件を満たせるよう支援します。

Snykの新しいJetBrains IDEプラグインをお試しください

新しいJetBrains IDEプラグインをダウンロードして、開発者がコーディング中にセキュリティの問題を簡単に見つけて修正できるようにしましょう。