SnykでAWS CodePipelineの脆弱性スキャンを自動化
Jay Yeras
2021年6月8日
0 分で読めます開発者が安全に開発できるよう支援することは、Snykのミッションです。コードのセキュリティ脆弱性を検出して修正し、オープンソースの依存関係も保護できるほか、開発チームが自動化されたデリバリーパイプラインにセキュリティテストを簡単に組み込めるよう支援します。また、Jenkins、TeamCity、CircleCIなどの主要なCI/CDプラットフォームとのネイティブインテグレーションも提供しています。
このたび、SnykとAWS CodePipelineの新たなインテグレーションを発表します。AWS開発者ツールスイートの一部であるAWS CodePipelineを使うと、ソフトウェアのリリースプロセスを自動化し、ユーザーに機能をすばやく届けることができます。
この新しいインテグレーションにより、AWS CodePipelineの開発者は脆弱性スキャンを実行するためにコンソールを離れる必要がなくなります。Snyk Open SourceによるセキュリティスキャンをAWS内から直接実行できます。また、AWS CodeCommitなどの他の開発ツールと連携する必要もありません。
継続的デリバリーサービスの一環として、Snykを使えば、AWS CodePipelineのユーザーはビルド、テスト、デプロイの各フェーズにセキュリティを自動的に組み込めます。AWSとSnykはパートナーとして、共通のユーザーやお客様が最新の自動化されたCI/CDソフトウェアパイプラインにセキュリティを簡単かつスマートに組み込めるよう支援します。
AWS CodePipelineを使い始める
SnykとAWS CodePipelineのインテグレーションは、AWS CodePipelineコンソールから直接開始できます。Snykアカウントをお持ちでない場合は、無料で登録できます。
AWS CodePipelineコンソールから、簡単な手順で新規または既存のパイプラインにSnykを追加できます。Sourceステージの後であれば、いつでもScanステージを追加できます。EditをクリックしてScanステージを追加します。次にAdd an Action Groupをクリックし、Edit Actionウィンドウを開きます。ここでアクションに名前を付け、Action Providerのプルダウン矢印をクリックしてSnykを選択し、Connect with Snykをクリックして接続を開始します。

続いて、AWS CodePipelineがオープンソースコードのスキャンを開始できるよう、Snykの認証情報を入力します。

Snykに接続したら、検出結果の重大度しきい値を設定してインテグレーションを構成できます。たとえば、重大度の高い脆弱性がある場合にのみビルドを失敗させることができます。また、アプリケーションコード全体をスキャンするか、コードマニフェストに絞ってスキャンするかを選択できます。

スキャン結果を分析する
スキャンが始まると、Snykはアプリケーションのマニフェストファイルを分析し、依存関係の一覧をSnykの脆弱性データベースと照合します。完了すると、スキャン結果がAWS CodePipelineにすぐ表示され、検出された問題とコンソール内での修正方法を確認できます。


Snykはオープンソースコードの詳細なレポートを提供します。Projectsに移動してView Reportを選択すると、プロジェクトの脆弱性チェック頻度を設定できます。
View ReportからDependenciesタブを選択すると、アプリケーションのビルドに使用されているオープンソースの依存関係を確認できます。アプリケーションのマニフェストファイルを分析して、Snykが依存関係ツリー全体を構築し、直接依存関係と推移的依存関係の両方を正確に特定します(Snykが検出する脆弱性の78%は推移的依存関係に起因します)。これにより、脆弱性がアプリケーションにどのように入り込んだのかを正確に把握できます。
Snykは、変更を最小限に抑えながらオープンソースコードの脆弱性を大幅に減らす修正案を提示します。代替ライブラリが複数ある場合でも、最も多くの脆弱性を解消できる最適な依存関係のバージョンを提案します。また、直接依存関係のアップグレードを最小限に抑えながら、推移的依存関係の問題も修正できるよう支援します。互換性の問題を生じさせることなく、開発者のトリアージを大幅にスピードアップできます。
AWS CodePipelineコンソールでは、優先度スコアや既知のエクスプロイトなど、さまざまな特性別に整理された脆弱性データも確認できます。結果をフィルタリングして、重大度の高い問題や修正プログラムがある脆弱性だけを表示するなど、修正作業の優先順位付けに役立つオプションを選べます。
AWS DevOpsとSnykの継続的なパートナーシップ
AWSは、開発者ファーストのセキュリティというミッションをSnykが実現するうえで重要なパートナーです。多くのテクノロジーの購入者は、AWSエコシステムに深く根ざし、信頼を寄せています。AWSとSnykの関係は、2015年のSnyk創業時に始まり、日々強固なものになっています。Snykは、APN Advanced Tierパートナーであり、APN Global Startup Programのローンチパートナーであり、AWSのお客様でもあることを誇りに思います。
さらに最近、AWSのKubernetes関連ツール群であるAmazon Elastic Container Registry(ECR)およびAmazon Elastic Kubernetes Service(EKS)とのインテグレーションを発表しました。これらのインテグレーションにより、AWSコンソールを離れることなく、SnykでKubernetesコンテナをスキャンできます。
Kubernetesに加え、SnykはAWS DevOps、サーバーレス、コンテナソリューションとの製品インテグレーションも提供しています。今後数週間から数か月にわたり、AWSとSnykから、さらに多くの統合ソリューションや役立つ技術コンテンツが登場する予定です。詳しくはAWS専用ランディングページをご覧ください。
AWSとSnykは連携し、AWS CodePipelineにあるオープンソースコードの脆弱性を簡単に可視化し、修正できるようにしました。この使いやすいインテグレーションは、早期の問題検出を可能にし、SDLC全体のスピードアップに役立ちます。開発者の負担を増やすことなく、組織のセキュリティ態勢を引き続き強化できます。
AWS CodePipelineのワークフロースキャンについて詳しく知りたい方は、詳しいドキュメントをご覧のうえ、ぜひご利用ください。
CTFを始めよう
オンデマンドのバーチャル入門ワークショップを視聴して、CTFの課題の解き方を学びましょう。



