Skip to main content

Snyk in 30:Atlassian Bitbucket Cloud向けオープンソースセキュリティ

2022年12月15日

0 分で読めます

最新のSnyk in 30では、Jason Lane(プロダクトマーケティングディレクター)と私、Marco Morales(パートナーソリューションアーキテクト)が、Snyk Open Sourceを紹介し、Bitbucket Cloudとのインテグレーションに焦点を当てました。

オープンソースセキュリティが現代のアプリケーション開発に不可欠な理由と、単にシフトレフトするだけにとどまらない、アプリケーションセキュリティへの包括的なアプローチについて解説しました。最後に、Snyk App for Bitbucket Cloudのデモを行い、ネイティブのBitbucketワークフロー内で、開発者が多数の脆弱性と詳細なコンテキスト情報を確認できることをご紹介しました。今回は、このウェビナーの要点をお伝えします。さらに詳しく知りたい方は、講演の全編をご覧ください。

オープンソースセキュリティが重要な理由

かつてアプリケーションは一から構築され、そのほとんどが社内で開発した独自コードでできていました。しかし現在、開発者は既存のオープンソースライブラリを活用し、かつてないスピードでソフトウェアを改善・開発しています。

オープンソースの利用には、企業が主に独自のソースコードを使用していた頃にはなかった新たなリスクも伴います。Log4Shellのようなオープンソースのゼロデイ脆弱性を受け、オープンソースのリスクは年々、多くの組織にとって重要な課題になっています。Snykは、開発チームがオープンソースの依存関係に潜むセキュリティ脆弱性やライセンス上の問題を発見し、修正できるよう支援するために存在します。

現代のSDLCにおけるオープンソースの位置づけ

オープンソースセキュリティが不可欠である一方、開発者はソフトウェアの開発時にセキュリティを優先しないことがよくあります。スピードや機能性など、ほかの優先事項がセキュリティより重視されがちです。これには理由があります。従来、セキュリティはリリースを遅らせ、開発チームに手戻りを強いる「阻害要因」と見なされてきました。DevSecOpsのようなアプローチは、開発者に主導権を取り戻すことを目指します。しかし、ツールやレポート、アラートが多すぎて開発者の負担となり、明確な修正手順を提示できずに終わることも少なくありません。

そのため、オープンソースセキュリティを含むすべてのセキュリティツールは、既存の開発プロセスにシームレスに溶け込む必要があります。Snykの各種ツールは、Atlassian BitbucketやGithubなど、広く利用されている開発パイプラインと連携します。また、開発者が普段使うワークフローの中で、実行可能なガイダンスや学習コンテンツを提供します。Snykはコンテキストの切り替えを最小限に抑え、開発者が迅速に修正を実施して、すぐにコーディングに戻れるよう支援します。

オープンソースセキュリティは、アプリケーションセキュリティへの包括的なアプローチにも組み込む必要があります。今日のアプリケーションは、Infrastructure as Code(IaC)、コンテナ、クラウドサービスなど、さまざまなコンポーネントで構成されています。開発者にとって、これらすべてが集約されるのがCI/CDパイプラインです。Snykはこの点を踏まえ、コードからクラウド、そしてコードへとつながる包括的なセキュリティプラットフォームを提供します。このプラットフォームにおいて、Snykは単独で使うツールではありません。アプリケーション全体のコンテキスト、つまりクラウドインフラ、ソースコード、コンテナを活用し、すべてのオープンソースコンポーネントについて、最も包括的な情報を提供します。

BitbucketのSnykセキュリティインサイトダッシュボード。プロジェクト全体のリポジトリにおける脆弱性1,291件を、深刻度別に分類して表示。

Atlassian Bitbucket向けSnyk Open Source

Atlassian Bitbucketは広く利用されているため、インテグレーションの対象に加えるのは当然のことでした。Snyk in 30のデモキャストでは、新しいSnykとBitbucketのインテグレーションの動作をご紹介しました。デモの主なポイントをいくつかご紹介します。

脆弱性データと修正方法を確認

Snykを使えば、チームはBitbucket環境内で各脆弱性の詳細を確認できます。ワークスペース内のタブをクリックするだけで、概要と脆弱性ごとの推奨される次のステップを表示できます。これらの情報はすべて、BitbucketとSnykのプレゼンテーションレイヤー内に表示されます。内容は次のとおりです。

  • 脆弱性に関する情報。オープンソースコンポーネントのどのバージョンに脆弱性が含まれているか、また、それが対象アプリケーションにどのようなリスクをもたらすかを説明します。

  • 優先度 スコア。CVSS、悪用可能性、世間の注目度、到達可能性、修正可能性などの要素に基づいて算出されます。

  • 修正ガイダンス。信頼性の高いコンポーネントのバージョンを推奨し、そのバージョンに戻すための簡単な手順を提示します。

これらの詳細情報はBitbucketプラットフォーム内で確認できるため、リポジトリへのアクセス権を持つ人なら誰でも、こうしたセキュリティに関する知見を得られます。

重大なLog4jのリモートコード実行の脆弱性を含む、81件の脆弱性が表示されたBitbucketのSnykセキュリティページ。

開発中に修正の優先順位を決定

こうした脆弱性の詳細情報により、開発チームはBitbucketパイプラインから直接、オープンソースのリスクを簡単にトリアージして軽減できます。また、各脆弱性の概要ページにタイムリーなアラートが表示され、詳しい背景情報や参考資料を確認できます。こうした情報を活用して、開発者は自分たちの環境にとって重大な脆弱性をすばやく特定し、修正の優先順位を決められます。

Apache Log4jの脆弱性の詳細と修正ガイダンスが表示され、「Jira課題を作成」ボタンが見えるSnykの画面。

BitbucketとJiraで次のステップへ

この新しいSnykとBitbucketのインテグレーションでは、ボタンをクリックするだけで、オープンソースのリスクを簡単に修正できます。Bitbucketのプルリクエストを作成し、検出された脆弱性の一覧から修正したいものを選択できます。するとSnykが、該当する各オープンソースコンポーネントを安全なバージョンに自動で戻します。プレゼンテーションレイヤーに表示される脆弱性の詳細情報も、このプルリクエストに記載されます。

トリアージを担当するセキュリティチームがいる組織では、必要事項が自動入力されたJiraチケットを送信する方法も選べます。この自動化により、脆弱性の詳細を適切なチームメンバーに数秒で共有できます。

サービス拒否、コード実行、情報漏えいなどのセキュリティ脆弱性が一覧表示された「Fix PRを開く」画面

Bitbucketとのインテグレーションについて詳しく見る

開発チームが普段使う環境にセキュリティを組み込み、既存のCI/CDパイプラインを妨げない、開発者を第一に考えた包括的な体験を実現できるよう支援します。Snykの開発者向けセキュリティプラットフォームは、CI/CDからクラウドサービスまで、幅広い一般的な開発ツールと連携します。

進行中、成功、失敗のステータス、開始時刻、所要時間が表示された、最近のビルドを示すBitbucket Pipelinesのダッシュボード。
ビルド、セキュリティスキャン、Snykスキャン、コンテナのデプロイが成功したことを示すBitbucket Pipelinesのダッシュボードとビルドログ。

Bitbucketを利用していなくても、組織でGithub、Jenkins、その他のCI/CDパイプラインツールをお使いの場合は、その他のインテグレーションの選択肢をご覧ください。

CTFを始めよう

オンデマンドのバーチャル入門ワークショップを視聴して、CTFの課題の解き方を学びましょう。