課題:アプリケーションセキュリティ態勢の可視化
InVisionは、チームや地域を越えたコラボレーションを実現する、デジタルプロダクトのデザイン・開発プラットフォームです。実際、数万の組織に所属する700万人以上がこのプラットフォームを利用し、新しいデジタルプロダクトの開発、プロトタイプ作成、アニメーション制作を行っています。世界中のデザイナーが日々InVisionを活用し、大規模に優れた顧客体験を実現しています。
デザイン主導のイノベーションプロジェクトに取り組む企業が増え、プラットフォームが成長を続けるなか、InVisionはアプリケーションセキュリティへの取り組みを効率化し、脆弱性管理プロセスの透明性を高めたいと考えていました。サードパーティ依存関係のスキャンにはすでにSnyk Open Sourceを利用していましたが、複数のプロジェクトにまたがるセキュリティ情報も一元管理する必要がありました。課題は、手作業を増やすことなく、InVision全体のエンジニアリングチームがこのデータにアクセスできるようにすることでした。
「エンジニアリングマネージャーがセキュリティ態勢を把握するために参照する場所が多すぎたため、すべてを一か所にまとめたいと考えていました」と、InVisionのシニアセキュリティエンジニア、David Epler氏は語ります。「そこで、脆弱性管理プロセスのためのツールをチームで開発しました。Snykはその中核を担っています。」
解決策:大規模環境でSnykレポートをリアルタイムに作成
InVisionはSnyk APIを活用し、依存関係管理に関するセキュリティレポートを自動化しています。週次の静的レポートに加えて、必要なときに使えるダッシュボードを運用しています。このダッシュボードはSnyk APIを利用して大量のデータをリアルタイムで取得するため、エンジニアリングリーダーは自社のアプリケーションセキュリティ態勢を常に的確かつタイムリーに把握できます。
「サービスオーナーがサービスの脆弱性の状況を知りたいときは、_Epler氏は説明します。「一つのダッシュボードを開くだけで、Snykの情報や検出された脆弱性、その他のセキュリティ関連のタスクや課題を確認できます。このソリューションは、それらすべてをリアルタイムで集約します。」
具体的には、InVisionはSnyk APIにアクセスし、定期的に情報を取得するためのGoライブラリを開発しました。このカスタムツールは、InVisionのすべてのプロジェクトと課題を1時間ごとにダウンロードし、他のツールがカスタムレポートを作成できるよう、データをメモリに保存します。こうしたレポートは、プロジェクトや部門のマネージャーがInVisionの潜在的なアプリケーションセキュリティリスクを把握するうえで欠かせないツールです。
「APIを使えばSnykからデータを取得できるだけでなく、集約レポートも作成できます。こうしたカスタムレポートは、ゾーンやスクワッドで構成される当社独自の組織モデルに密接に沿ったものです。」
Snyk API:使いやすさ
InVisionがセキュリティスキャンツールを探し始めた際、複数の候補のAPIを評価しました。そのなかで、Snykのドキュメントが最も実装しやすいことがわかりました。レポート用の情報を手作業でダウンロードするには時間がかかりますが、APIを使えば簡単に認証し、複数のSnykプロジェクトからデータを自動で集約できます。
「APIはとてもシンプルで、大量のデータを簡単に取得できます」とEpler氏は語ります。「特に、Snykが集約課題エンドポイントを追加してからは、多数のリクエストを送る必要がなくなりました。すべてのプロジェクトを対象とした包括的なセキュリティダッシュボードを、はるかに簡単に構築できました。」
効果:組織全体のAppSecをシームレスに管理
Snykの導入後、InVisionはサードパーティ依存関係のセキュリティ脆弱性を大規模に特定し、修正できるようになりました。さらに、Snyk APIにより、追加の継続的な作業を伴わずに、セキュリティスキャンとレポートを既存のAppSecワークフローにシームレスに統合できました。今後もInVisionはSnyk APIを活用し、AppSecの可視性を高めていく予定です。
「私たちのチームはコードレビューなど従来型のAppSecに取り組む一方、自動化のためのツールも開発しています」とEpler氏は語ります。「Snyk APIのおかげで、Snykプラットフォームを手作業で管理する独立した要素ではなく、自動化を通じてセキュリティプログラムの一部として統合できました。」
