Skip to main content

SnykでAWS CodePipelineの脆弱性スキャンを自動化

著者
Headshot of Jay Yeras

Jay Yeras

blog hero aws codepipeline snyk

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をクリックして接続を開始します。

スキャンアクションのアクションプロバイダー一覧でSnykがハイライト表示された、AWS CodePipelineの編集アクションダイアログ
SnykがAWS CodePipelineのアクションプロバイダーのプルダウンリストで利用可能になりました。

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

GitHub、Bitbucket、Google、SSO、Azure ADのサインインオプションが表示されたSnykログインウィンドウを含む、AWS CodePipelineでのSnykアクションのセットアップ

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

組織の選択、重要度レベル、「続行」ボタンが表示された、AWS CodePipeline用のSnyk設定ダイアログ

スキャン結果を分析する

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

AWSのパイプラインスキャン結果。スキャンの成功、設定の詳細、Node.jsベースイメージの更新結果が表示されています
重大度の高いadm-zipの任意ファイル書き込みの脆弱性を含む、78件の問題を表示したSnykプロジェクトの概要。

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の課題の解き方を学びましょう。

続きを読む

blog feature snyk container custom base recommendations
Blog

Evo Agentic AppSecのご紹介:AI開発のスピードに対応するセキュリティ

AI駆動型開発のスピードに、従来のセキュリティワークフローは追いついていません。SnykのAgentic AppSecは、セキュリティエージェントが脆弱性を継続的に検出、修正、検証し、人が基準を定められるようにします。

feature insights context
Blog

自律型攻撃はすでに始まっている。防御もそのスピードに追いつかなければならない。

自律型攻撃者によって、防御に使える時間は短くなっています。継続的な検出、修復、検証、予防で、セキュリティチームが攻撃に歩調を合わせる方法をご紹介します。

Blog

Evo ADSのエージェント動作ガバナンスが一般提供開始:MCPの利用を管理

Evo ADSのエージェント動作ガバナンスが、MCPガバナンスから一般提供を開始しました。主要なAIコーディングエージェント全体で、MCPサーバーの利用を検出、承認、監視、記録、ブロックできます。