Snyk Delta Findingsで開発者の脆弱性疲れを解消
2025年3月18日
0 分で読めます開発者は、セキュリティリスクを軽減するために依存関係を絶えずアップグレードしたり、脆弱なコードやCIパイプラインの検出結果に関するセキュリティレポートを追いかけたりするループから抜け出せずにいます。
開発者はこれを「脆弱性疲れ」と呼ぶことがよくあります。この言葉は、サードパーティ依存関係に新たに持ち込まれたセキュリティ脆弱性を一覧表示するnpmパッケージのインストールログでよく見かけます。
脆弱性疲れをなくす、または軽減する方法があります。それは、早期かつシームレスな修正とカスタマイズです。つまり、セキュリティ問題にできるだけ早く対処し、開発者に影響があり、実際に対処できる問題だけを表示することです。
IDEで開発者を支援
コーディング中に、JavaScriptのコードベースにあるコマンドインジェクションなどのセキュリティ問題を簡単に見つけられたらどうでしょうか?あるいは、機能の開発を終えてコードを機能ブランチにプッシュし、CIパイプラインの実行後に初めて、Pythonアプリケーションにクロスサイトスクリプティングの脆弱性を生む脆弱なバージョンのJinja2を持ち込んでしまったと気づくのではなく、事前にセキュリティ問題を見つけて解消できたらどうでしょうか?
Snyk VS Code extensionなら、まさにこのようなプロアクティブなワークフローを実現できます。開発サイクルの早い段階で、普段作業している場所であるIDEから、脆弱性に対処できるよう開発者を支援します。
インストールすると、この拡張機能は自動的に実行され、コードの変更を保存するたびにプロジェクトのマニフェストファイルとアプリケーションロジックのコードを分析し、静的コード解析によって脆弱で安全でないコードを検出します。

Snyk DevSecOps platformによるスキャンは、通常数秒で完了する迅速かつ包括的なものです。検出された脆弱性はSnyk拡張機能のペインに表示され、よく使われる波線やエディター内のファイル表示の注釈とともに、危険なコードパターンに関する詳しい情報や対処方法を確認できます。
上のスクリーンショットは、私のNode.jsプロジェクトで対処が必要なセキュリティ脆弱性が150件あることを示しています。これほど多くの問題に、どこから手をつければよいでしょうか?開発者のワークフローへの影響をすでに最小限に抑え、脆弱性に先回りして対処する方法も用意できました。開発者に関係のあるセキュリティ問題だけを表示して、セキュリティに関する開発者体験をさらに向上させることはできるでしょうか?続きをご覧ください。
SnykのDelta Findingsで認知負荷を軽減
開発プロセスの早い段階で脆弱性を修正すれば、CIやソフトウェアデリバリープロセスの後半でセキュリティ検出結果を分析する場合と比べて、負担や手間を大幅に減らせます。しかし、コードを書いているときにIDEでインサイトを受け取れる場合でも、開発者はSnykのIDE拡張機能からのインサイトを評価するだけでなく、他の拡張機能から届く大量のノイズも取り除かなければなりません。
こうした認知的負荷に加え、開発者にはもう一つ、摩擦の原因となりうるものがあります。それは、新たに持ち込まれたセキュリティ問題に対処するために、セキュリティチームがコード変更やデプロイをブロックすることです。セキュリティチームがこれを行う理由は次のとおりです。
予防:予防措置として、新しいコード変更をブロックする。
対処:すでに本番環境に存在する可能性が高い既存のセキュリティ問題を検出する。
それでも、PRチェックなどを通じてCIパイプラインでブロックする方法は、主にコードリポジトリやDevOpsワークフローの管理方法によって異なります。継続的インテグレーションの段階でセキュリティ問題がブロックされると、開発者には多くの作業と認知的負荷が生じます。
つまり、開発者の視点では、こうした「セキュリティゲート」ワークフローが開発プロセスのかなり後になってから発生します。開発中のより早い段階で新たに持ち込まれたセキュリティ問題を明らかにし、脆弱性を含む可能性のある機能や修正をプッシュする前に、開発者がすばやく対処できるようにするにはどうすればよいでしょうか?Snyk Code(SAST)、Snyk Open Source、Snyk IaCを含むSnykプラットフォームのIDEプラグインがアップデートされ、「delta findings」機能が加わりました。まさにこれを実現する機能です。
開発者の集中を支援
IDEに新たに導入された「delta findings」機能は、コードによって新たに持ち込まれたセキュリティ問題だけを明確に表示します。これにより、開発者は重要な作業に集中でき、セキュリティチームがプロセスで最も重視することにも沿った対応が可能になります。
アップデートされた拡張機能では、ベースブランチ(例:main)と現在の作業ブランチを切り替えるトグルを利用できます。新しいトグルオプションを選ぶと、リポジトリの現状から生じるノイズを減らし、開発中に自分が持ち込んだコード、依存関係、IaCの変更だけに集中できます。

上のスクリーンショットは、Expressを使った私のNode.jsアプリケーションで、脆弱なオープンソース依存関係と安全でないコードに起因するセキュリティ問題が合計150件あり、対処が必要であることを示しています。
しかし、newトグルをクリックする(またはデフォルトに設定する)と、Snyk Codeには新しいコード変更に関するセキュリティ検出結果だけが表示されます。たとえば、まだコミットされていない変更(上のスクリーンショットのようなもの)や、コミット済みでも、このプロジェクトのプライマリブランチとして設定されたgitブランチ(mainまたはmaster)とは別のブランチにある変更が対象です。
これなら、自分のコードに起因するセキュリティ問題だけに集中し、すぐに修正できます。

さらに、Snyk CodeのAIを活用した自動修正エージェント、Snyk Agent Fixのおかげで、コードの脆弱性を簡単に修正できます。
パストラバーサルの検出結果の横にある稲妻アイコンに注目してください。左側のサイドバーにある検出結果リストだけでなく、エディターにも表示されます。赤い波線は、安全でないコード行を示しています。

「delta findings」機能の上記のメリットは、アップデートされたSnyk CodeのIDE拡張機能で利用できます。主な機能は次のとおりです。
ワークフローを損なわないよう、Snykはデフォルトですべてのセキュリティ検出結果を表示します。
現在の作業ブランチと、比較対象として指定したベースブランチをすばやく簡単に切り替えられます。
きめ細かなセキュリティフィルター
Snyk IDE拡張機能の設定を開くと、セキュリティ検出結果のフィルターをさらに細かく調整できます。以下のVS Code設定ページでは、表示するSnykの検出結果を選択する方法を確認できます。
たとえば、次の項目でフィルタリングできます。
検出結果のソース。オープンソース依存関係の脆弱性、コード内の安全でないコードの脆弱性、TerraformやKubernetesの設定ファイルなどのInfrastructure as Code、さらにはコード品質に関する検出結果で絞り込めます。
脆弱性の深刻度。高および重大な脆弱性だけに集中したい場合は、一覧で中と低をオフにできます。
Snyk VS Code extensionで、さらに多くの機能を試し、効率化・カスタマイズされたセキュリティワークフローをご活用ください。

SnykのIDE Delta Findingsワークフローのメリット
開発者ファーストのセキュリティワークフローをさらに向上させるため、開発者とセキュリティチームの双方を次のように支援します。
カスタマイズや優先順位付けを通じて、大量のスキャンやプロジェクトファイルから生じる膨大なセキュリティ検出結果のノイズを取り除きます。Snyk IDEプラグインの「delta findings」機能などを活用することで、ノイズの多いスキャン結果による不満を軽減し、優先順位付けやノイズの適切な除去を容易にします。
新たに持ち込まれた脆弱性の発見と軽減に開発者が集中できるよう支援します。また、脆弱性が持ち込まれた時点で、コーディングの流れを止めずにすばやく対処できるよう支援します。これにより、CIテスト実行時のコードレビューやプルリクエストレビューの段階で、セキュリティ問題の調査と修正に何時間も費やす事態を避けられます。セキュリティチームはCIパイプラインにセキュリティゲートを急いで導入することがよくありますが、通常は遅延やソフトウェアデリバリーの遅れにつながります。Snyk DevSecOps platformは、最初の1行目のコードからセキュリティに取り組めるようにすることで、開発者とセキュリティチームがこの問題を未然に防げるよう支援します。
開発中に新たに持ち込まれた問題を早期に把握できるようにし、リスクやCIパイプラインの中断、セキュリティ問題の解決に必要なプロセス上の負担を軽減します。
ソースコードのバージョン管理ワークフローを使用していない場合も、Snyk IDE拡張機能で参照ディレクトリを選択し、ベース状態との比較ができるようになりました。
Snyk VS Code extensionを今すぐ使い始めましょう。無料です!
AIを安全に活用する準備はできていますか?
生成AIコードセキュリティのバイヤーズガイドをダウンロードして、GitHub Copilot、Google Gemini、Amazon CodeWhispererなどの生成AIコーディングツールをリスクなく導入しましょう。
