9
6

More than 1 year has passed since last update.

はじめに

この記事は「Snykを使って開発者セキュリティにまつわる記事を投稿しよう! by Snyk Advent Calendar 2022」の 7 日目です。ぜひカレンダーにご参加ください!

Snyk の Toshi です。皆さんの記事、いつも楽しみに読んでいます。Snyk を試していただく、使っていただくのはもちろん、記事を書いていただけることをうれしく感じています。ありがとうございます。

Snyk にはさまざまな機能があり、たくさんの使い方があります。この記事では、個人的にぜひ試してほしい機能として Slack integration を紹介します。

所要時間は約 5 分で簡単に、だれでも、設定できますのでぜひやってみてください。

Snyk から送信されるアラートについて

Snyk はユーザーがログインやスキャンをしていないときも、新たな脆弱性の混入や、脆弱性の修正リリースを定期的にモニタリングしています。そして、脆弱性が検出されたり、フィックスがリリースされるとメールで通知を送ります。

でも最近は、メールよりも Slack で通知してほしい、という方も多いのではないでしょうか。もちろん可能です!そこで、この記事ではSlack へのアラート送信を設定します。

必要に応じて次のドキュメントも参照してください。

ドキュメント: Slack integration

0. Slack 通知でできることと事前準備

Slack 通知でできること

Slack 通知では、以下 2 種類のメッセージを送信します。

  • 新たな脆弱性の検出アラート
  • 既存の脆弱性の修正リリースのアラート

これらのメッセージはどちらも、デフォルト設定ではメールにて送信されています。

事前準備

設定作業を行う前に、以下 3 点の準備が必要です。

  1. Snyk アカウント (まだであればFree プランへサインアップしてください)
  2. Slack ワークスペース (フリープランに申し込みできます)
  3. アラート送付先の Slack チャンネル

3 番目の Slack チャンネルは、設定作業中に作成することも可能です。ただし、以下の設定手順では、チャンネルが作成済みであるという前提で説明しています。

1. Snyk の Slack インテグレーションを設定してアラートを送る

必要な作業時間は約 5 分。とても簡単です。以下の Step 1 から Step 8 まで、進めてください。

ただし、Slack ワークスペースへ Slack app を作成する権限を持っていない場合 (Step 5)、承認待ちが発生します。

設定ステップ (Step 1〜8)

Step 1: Snyk Web UI へログイン [Snyk]

  • Slack Web UI より Snyk にログインします (図1-1)

図1-1: Snyk ログイン画面
image.png

Step 2: Snyk の Slack integration の設定画面を開く [Snyk]

  • Snyk Web UI にて Slack integration の設定画面を表示します
  • IntegrationsNotificationsSlack の順に選択してください (図1-2)

図1-2: Slack integration 画面
image.png

Step 3: リンク「generate a WebHook URL」を選択 [Snyk]

  • Snyk Web UI の Slack integration 設定画面にて、リンク generate a WebHook URL を選択します (図1-3)
  • Step 8 でこの画面に戻るため、リンクを右クリックする等により新しいタブで開くことをオススメします

図1-3: Snyk の Slack integration 設定画面
image.png

Step 4: Slack ワークスペースの選択 [Slack]

  • 前ステップで開いた Slack の設定画面にて、アラート送信先の Slack ワークスペースを選択します (図1-4)
  • 当該ワークスペースにサインインしていない場合は、このタイミングでサインインしてください

図1-4: Slack app 設定画面
image.png

Step 5: ボタン「Slack に追加」を選択 [Slack]

  • Slack の設定画面にて、Slack に追加 ボタンを選択します (図1-5)
  • なお、ワークスペースに Slack app を追加する権限がない場合、追加の承認ステップが必要です。

図1-5: Slack app 設定画面
image.png

Step 6: 送信先チャンネルを指定してボタン「Incoming Webhook インテグレーションの追加」を選択 [Slack]

  • Slack の設定画面にて、ドロップダウンから 送信先チャンネル を選択します (図1-6)
  • 続いて Incoming Webhook インテグレーションの追加 ボタンを選択します (図1-6)

図1-6: Slack app 設定画面
image.png

Step 7: 生成された Webhook URL をコピー [Slack]

  • Slack 側設定が完了し、Webhook URL が生成されました
  • Snyk 設定に入力するため、この Webhook URL をコピーします (図1-7)
  • なお、送信先チャンネルにも Slack 側設定が完了したというメッセージが表示されているはずです (図1-8)

図1-7: Slack app 設定画面
image.png

図1-8: Slack メッセージ
image.png

Step 8: コピー済みの URL をペーストし、ボタン「Connect」を選択 [Snyk]

  • Step 3 で使った Snyk Web UI に戻り、Webhook URL フィールドに Webhook URL をペーストした後、Connect ボタンを選択します (図1-9)
  • 赤色の Disconnect ボタンが表示されたら設定完了です (図1-10)
  • なお、送信先チャンネルにも Snyk 側設定が完了したというメッセージが表示されます (図1-11)

これで設定は完了です! 続いて、実際にアラートを受け取って確認しましょう。「2. Slack にてアラートを確認する」へ進んでください。

図1-9: Snyk の Slack integration 設定画面
image.png

図1-10: Snyk の Slack integration 設定画面
image.png

図1-11: Slack メッセージ
image.png

Step 5 での追加設定 (必要な場合)

  • この追加設定は必要な場合だけ行うステップです
  • ワークスペースに Slack app を追加する権限がない場合、ワークスペース管理者 (またはオーナー) による承認が必要となります
  • Request to install Incoming Webhook for Snyk モーダルに、管理者向けの依頼メッセージを入力した後、Submit Request ボタンを選択します (図1-12)
  • Slack の設定画面には Request Submitted と表示されます (図1-13)。承認されるまで Step 6 の設定はお待ちください
  • 承認されると Slackbot よりメッセージ (図1-14) が送られ、Step 6 の設定を再開できます

図1-12: Slack 承認依頼
image.png

図1-13: Slack app 設定画面
image.png

図1-14: Slack メッセージ
image.png

2. Slack にてアラートを確認する

新たな脆弱性の検出時や、既存の脆弱性への修正リリース時にアラートが送られてきます。Slack にて確認してください。アラートを受け取るタイミングは、スキャン対象のプロジェクトにより変わります。24 時間程度、またはそれ以上かかることもありますので、お待ちください。

図2-1: 脆弱性の検出時のアラート (例)
image.png

図2-2: 修正リリース時のアラート (例)
image.png

3. メールでの通知をカスタマイズする

Slack でアラートを受信していると、メールでの通知を停止したくありませんか?
メール通知はカスタマイズ可能なので、ぜひ見直してみましょう。
カスタマイズは Organization とユーザー個別の 2 つのレベルで設定できます。ここではユーザーレベルでカスタマイズしてみます。

Snyk Web UI の画面左下のドロップダウンから、Notification preferences を選択します。その後、Issue alert emailsVulnerabilities のチェックを外すと、メールでのアラートが停止されます。(図3-1)

ドキュメント: Managing notifications - Change personal notification preferences

図3-1: Notification preferences 画面
image.png

まとめ

この記事では Slack 連携を設定して、Snyk からのアラートを Slack チャンネルでチェックできるようにしました。脆弱性対策には継続的な取り組みが大切。Snyk を使えば、脆弱性の監視も、脆弱性の修正作業も継続して実施できます。

それではまた👋 Happy Snyking!

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6