Skip to main content

Snykを活用したMicrosoft AzureでのエンドツーエンドDevSecOpsの実現

2020年5月26日

0 分で読めます

Azure Repos Serverのサポートを追加しました。AzureのオンプレミスDevOpsサービスを利用する開発者は、オープンソースの依存関係に含まれるセキュリティ脆弱性やライセンスの問題を特定し、修正できるようになります。

この新しいインテグレーションは、Microsoft Azureエコシステム全体にわたるサポートを補完します。Azure Repos(クラウド版に加え、オンプレミス版にも対応)から、Azure Pipelines、Azure Container Registry、Azure Functionsまで、Azureユーザーがソフトウェア開発ライフサイクル全体でDevSecOpsを実現できるよう支援します。

Azure Repos Serverは、以前はTeam Foundation Server(TFS)として知られていたAzure DevOps Serverの一部です。オンプレミスでホストされる、共同ソフトウェア開発ツールのセットです。開発者はプルリクエストや高度なファイル管理機能を使って、オンプレミスでGit開発ワークフローを管理できます。

この新しいインテグレーションにより、Azure Repos Serverを使用する開発者は次のことが可能になります。

  • Azure Repos Serverで管理されているプロジェクトに既存の脆弱性がないか検出する。各脆弱性について、問題が持ち込まれた正確な依存関係パスなど、トリアージを迅速化するための実用的で文脈に即した情報が表示されます。

  • 新しいプルリクエストをスキャンして、脆弱性の混入を未然に防ぐ。新しいプルリクエストはAzure Repos Server内でマージ前にスキャンされ、新たな脆弱性が持ち込まれないことを確認します。

  • 特定された問題を修正する。Snykは直接依存関係と間接依存関係の両方に必要な修正を算出し、必要なアップグレードやパッチを適用する修正用プルリクエストを、Azure Repos Serverのワークフロー内で自動的に作成します。

  • 新たな脆弱性がないか継続的に監視する。Snykはインポートされたプロジェクトを毎日監視し、新たな脆弱性が公開されると開発者に通知します。また、マージを失敗させる脆弱性の重大度を設定するポリシーも定義できます。

詳しく見ていきましょう。

SnykとAzure Repos Serverのインテグレーション

インテグレーションを設定するには、まずAzureから2つの情報を取得します。Azure Repos Server組織のURLとアクセストークンです。

Snykアクセストークンを作成する際は、Custom definedを選択し、有効期限をできるだけ先の日付に設定します。また、Scopes | Code,でRead & writeを選択します。

個人用アクセストークンを作成するAzure DevOpsのダイアログ。カスタムの有効期限と、コードの読み取りおよび書き込みスコープが選択されています

この2つの情報を用意したら、Snykのインテグレーションページに移動し、Azure Reposを選択します。

ソース管理インテグレーションの中にAzure Reposが表示され、GitHubが設定済みになっているSnykのインテグレーションページ。

次に、Azure Repos Server組織のURLと、先ほど作成したトークンを入力します。

アカウント認証情報の入力欄、マスクされた個人用アクセストークン、[保存]ボタン、トークンの作成手順が表示されたAzure Reposのインテグレーション設定。

Saveボタンをクリックすると、SnykとAzure Repos Serverのインテグレーションが完了したことを示すメッセージが表示されます。

更新が成功し、リポジトリの認証情報が接続されていることを示す、Snyk Azure Reposインテグレーションの設定。

あとはAdd your Azure Repos repositories to Snykをクリックし、Snykで保護するリポジトリを選択するだけです。

リポジトリの選択、カスタムファイルパスの追加、スキャン対象からのフォルダの除外を行うSnyk Azure Reposのインポート画面。

Snykがプロジェクトをインポートし、セキュリティ脆弱性とライセンスの問題を初回スキャンします。ここに示す例のとおり、デモ用のnode.jsプロジェクトには、さまざまな重大度の脆弱性が複数含まれています。

インポートされたAzure Reposプロジェクト「Demo/Demo」を表示するSnyk Projectsのダッシュボード。package.jsonと脆弱性の件数が表示されています。

脆弱性の修正

インテグレーションを設定したので、Snykを使って脆弱性を検出し、修正できます。

プロジェクトを開くと、Azure Repos ServerのリポジトリでSnykが特定したすべての問題が表示されます。プロジェクトのオープンソース依存関係を通じて持ち込まれたセキュリティ脆弱性が66件、ライセンスの問題が2件あります。

Demo/package.json の Snyk プロジェクト概要。脆弱性、依存関係、ソースとして Azure Repos を表示

Snykは、問題を迅速に修正するための実用的な修正アドバイスを提供します。問題が持ち込まれた依存関係パス全体、脆弱性が悪用可能かどうか、修正に必要なアップグレードなどを確認できます。

成熟したエクスプロイト、影響を受けるadm-zipのバージョン0.4.7、バージョン0.4.11へのアップグレードによる修正を示すセキュリティ脆弱性レポート

Fix this vulnerabilityをクリックすると、必要なアップグレードが設定されたプルリクエストがAzure Repos Serverに自動的に作成されます。

「[Snyk] adm-zipを0.4.7から0.4.11にセキュリティアップグレード」というタイトルのAzure DevOpsプルリクエスト。マージコンフリクトがなく、脆弱性の修正内容が表示されています。

継続的なセキュリティ

Snykは新たな脆弱性を継続的に監視し、Azure Repos Serverのリポジトリを安全に保ちます。

まず、新しい脆弱性が公開され、プロジェクト内で検出されるとSnykが通知し、迅速な修正に必要な詳細情報を提供します。

次に、コードへの変更によって新たな脆弱性が持ち込まれないよう、Snykが確認します。Azure Repos Serverで新しいプルリクエストが作成されるたびに、Snykはセキュリティ脆弱性とライセンスの問題を自動的にスキャンし、マージ前に問題が解決されるようにします。

Azure SDLC全体でDevSecOpsを支援

このインテグレーションは、Microsoft Azureユーザー向けにSnykが提供する一連のネイティブインテグレーションの最新機能です。開発からCI/CD、実行時まで、SDLC全体を通じて開発者がアプリケーションを保護できるよう支援します。 

これらのインテグレーションを始めるには、Snykのインテグレーションページをご覧いただくか、Azure Reposインテグレーションのドキュメントで詳細をご確認ください。

このインテグレーションはTFS v2018 Update 2以降に対応しており、ProプランおよびEnterpriseプランでのみご利用いただけます。

安全な開発を!

続きを読む

blog feature ai lilac
Blog

エージェント型修正で脆弱性バックログをプルリクエストに変える

Evo Remediation Agentがオープンプレビューで利用可能になり、Evo Agentic AppSecに依存関係の自動解決機能が加わりました。AppSecチームは継続的な修正キャンペーンを実施できるようになりました

illustration hero ai
Blog

PHPが重大な未認証RCEの脆弱性2件を修正(CVE-2026-109618、CVE-2026-109619):今すぐアップデート

PHPのリクエスト処理に重大な脆弱性が2件あり、未認証のリモートコード実行につながるおそれがあります。修正版にアップグレードするか、旧バージョンにはベンダー提供のバックポートを適用してください。

AI Background min crop
Blog

AIが、あなたが受け入れてきたあらゆるリスクを一気に顕在化させる:AI Security Panel: Unfilteredから得た7つの洞察

AIによって攻撃はより安価かつ高速になり、組織がすでに抱えているリスクが露呈しています。4人のセキュリティリーダーが、機械の速度に対応する防御と迅速な修復が今不可欠である理由を語ります。