Snyk-Watcher:Snykとの同期を維持
2021年2月17日
0 分で読めますSnyk API Wednesdaysへようこそ!Snyk APIをお客様がどのように活用しているかを紹介する、新しいブログシリーズです。 Snykの拡張性とAPI により、開発者はそれぞれのワークフローに合わせてSnykのセキュリティ自動化を調整でき、開発者エクスペリエンスとプラットフォームガバナンスの一貫性を保てます。このシリーズの第1回では、TwilioのProduct Securityチームが開発した新しいオープンソースツール、Snyk-Watcherをご紹介します。このツールは、プロジェクトを大規模にSnykへインポートするプロセスを自動化します。
この記事は、もともとTwilio Blogに掲載されたものです。
Twilioのプロダクトセキュリティチームは、Twilioが開発するすべてのアプリケーションのセキュリティを担当しています。エンジニアリングチームと連携し、Twilioとお客様のセキュリティ確保に取り組んでいます。クラウドネイティブなアプリケーションセキュリティプラットフォームであるSnykを利用して、設計からデプロイまで、あらゆる段階でコードの安全性を確保しています。
セキュリティを大規模に実現する鍵は自動化です。人為的ミスをなくせるからです。自動化すれば、より多くの脆弱性を検出できます。Snykはリポジトリを自動的にスキャンします。ただし、スキャン対象のリポジトリをSnykに指定しておく必要があります。
SCM内のプロジェクトをSnykと同期させ、リポジトリの追加、削除、名前変更を検知して、Snykを自動的に設定する方法が必要でした。
私たちはSnyk-Watcherを開発しました。これはGitHub Appで、メインブランチのリポジトリ変更やプルリクエストに関するWebhookを監視します。プルリクエストがメインブランチにマージされると、Snyk-WatcherがプロジェクトをSnykにインポートしてスキャンします。リポジトリが作成、削除、または名前変更されると、Snyk-WatcherはSnykで適切な処理を実行します。こうした自動処理はSnyk APIを通じて行われます。このAPIを使えば、Snykのさまざまなセキュリティ機能を統合し、自動化できます。
GitHubにSnyk-Watcherをインストールしたら、新しいリポジトリを追加して動作をテストし、アプリの詳細設定でリクエストが成功したか確認できます。Snykでプロジェクトとその依存関係をスキャンするには、マニフェストファイルが必要です。たとえば、MavenではMANIFEST.MF、JavaScriptプロジェクトではpackage.jsonが該当します。Snykは、対応するマニフェストファイル形式とともに、サポートするプログラミング言語を拡大しています。プロジェクト内で有効なマニフェストファイルが検出されると、Snykにプロジェクトが表示されます。
Snyk-Watcherを使えば、Snykへのプロジェクトの追加や削除を覚えておく必要はありません。自動で処理されます。本日、このツールをオープンソースとして公開します。ぜひ活用して、プロジェクトのインポートを自動化し、SCMとSnykを同期させてください。
Snyk-Watcherを使い始めるには、こちらのREADMEをご覧ください。



