Snykで問題を抑制する
Anna Debenham
2018年2月15日
0 分で読めますセキュリティ上の問題を無視することをデフォルトの対応にすべきではありませんが、必要な場合もあります。Snykが検証するのは依存コンポーネントに存在する脆弱性のみであるため、誤検知率は比較的低く(無視する必要性も軽減されるはずです)、それでも問題を抑制したい理由はあります。たとえば、現時点で修正策がない問題は、修正策が提供されるまで一時保留にしたいことがあるでしょう。特定のプロジェクトでは関連性のない問題もあります(例:社内サービスに対するDoS攻撃)。また、悪用できないパスに存在する問題もあります。
無視機能は、初日からCLIでサポートされており、.snykポリシーファイルを通じて利用できます。プロジェクトでsnyk wizardを実行して脆弱性が見つかると、この機能が表示されます。脆弱性を無視すると、そのパスと理由(指定した場合)が.snykファイルに記録されます。
Herokuとの連携では実行時にポリシーファイルを編集できないため、この機能をUIでも利用できるようにする必要性が高まっていました。
問題を完全に画面から消し、まるで存在しなかったかのようにする単純なチェックボックスとして実装することもできました。そうすれば、問題を手早く簡単に無視できます。しかし私たちは、スヌーズボタンのような動作にすることで、より責任ある対応を促したいと考えました。問題を無視する理由と、その期間を選択できます。「修正策が利用可能になるまでこの問題を無視する」(現在、修正策がない場合はデフォルトでチェック済み)を選択すると、修正策が提供され次第、脆弱性が再び表示されます。また、問題を無視する理由の詳細を任意で記入することもできます。

これは従来からCLIで可能だったことと同じですが、さらに機能を追加しました。UIで問題を無視すると、誰が無視したかが表示され、無視設定の編集や解除もできるようになります。

脆弱性の抑制には一定のリスクが伴うため、この機能を管理者のみに提供するオプションを追加しました。Reports機能をご利用の場合は、組織内のプロジェクトで無視されている問題の数を一覧で確認し、フィルターを使って各問題の詳細を確認することもできます。UIで問題が無視された場合は、説明責任を明確にするため、実行したユーザーも表示します。
無視した問題は、プロジェクトの問題フィルターからいつでも表示・編集できます。また、.snykポリシーファイルから引き続き無視を設定できます。APIをご利用の場合は、無視に関する情報もAPIに含まれます。
提供できることをうれしく思う便利な機能ですが、節度をもってご利用ください。


