
ソフトウェアの SDLC (ソフトウェア開発ライフサイクル) において、実行されたアクションの追跡性やエビデンスの重要性が高まっています。また、安全なソフトウェア開発に関する新たな規制やポリシーは急速に進化しており、この変化に先んじて対応することが求められます。
一部の組織では、自社開発のソリューションや手作業によるプロセスを活用し、積極的に対策を講じています。しかし、これらの取り組みはスケールに限界があり、時間が経つにつれて機能しなくなるケースが多いのが現状です。その結果、DevSecOps、GRC (ガバナンス、リスク、コンプライアンス)、開発チーム間の摩擦が増え、状況をさらに複雑にしています。

エビデンス コレクションとは
JFrog の新しい「エビデンス コレクション」機能を使えば、開発チームはアーティファクト、ビルド、パッケージ、リリース バンドルに署名付きの証明メタデータを追加できます。これにより、ガバナンスやコンプライアンスの目的で簡単に追跡、検証が可能になります。

JFrog プラットフォームの「エビデンス コレクション」機能は、本番リリースに至るまでのセキュリティ、品質、運用プロセスを記録し、監査証跡を生成します。開発者は、ソフトウェア開発で使用するさまざまなツールやプラットフォームの情報を統合し、信頼できる単一の情報源として管理できます。
JFrog エビデンス コレクションを利用するメリット
ソフトウェアのリリース準備を確実に ー ソフトウェアがリリースに向けて成熟する過程で行われた、すべてのテスト、承認、環境、アクションを含むプロセスのエビデンスを簡単に記録できます。
証明の単一情報源 ー 複数のシステムを探し回る手間をなくし、開発チームやコンプライアンスチームの作業時間を短縮します。証明データを一箇所で管理することで効率化を実現します。
監査とコンプライアンスの簡素化 ー エビデンス メタデータはアーティファクトのライフサイクル全体にわたって追跡可能で、監査目的で簡単にエクスポート可能です。証明メタデータを活用し、ソフトウェア開発ライフサイクルやソフトウェアサプライチェーン全体でガバナンスを強化できます。
仕組み
エビデンス コレクションは、CI プロセスに組み込むよう設計されています。簡単な bash スクリプトを使用するだけで、エビデンスを収集し、それをアーティファクトに添付できます。これには、JFrog CLI や JFrog の API を利用します。収集されたエビデンスは、プロモーション プロセス全体を通じてアーティファクトに添付されたまま追跡されます。
例) 統合テストを実行し、その結果をエビデンスとして JFrog CLI コマンドを使って添付する方法
- name: Integration Test
run: |
source scripts/itest.sh
iTest ${{ vars.VERSION }} > itest_results.json
cat itest_results.json
# Check if there are any failed tests in itest_results.json
if grep -q '"status": "failed"' itest_results.json; then
exit 1
fi
JF_LINK="${{ vars.JF_URL }}/ui/artifactory/lifecycle/?bundleName=${{ vars.BUNDLE_NAME }}&bundleToFlash=${{ vars.BUNDLE_NAME }}&releaseBundleVersion=${{ vars.VERSION }}&repositoryKey=release-bundles-v2&activeVersionTab=Version%20Timeline&activeKanbanTab=promotion"
echo "Test on Release bundle [${{ vars.BUNDLE_NAME }}:${{ vars.VERSION }}](${JF_LINK}) success" >> $GITHUB_STEP_SUMMARY
jf evd create \
--release-bundle ${{ vars.BUNDLE_NAME }} \
--release-bundle-version ${{ vars.VERSION }} \
--predicate ./itest_results.json \
--predicate-type https://jfrog.com/evidence/integration-test/v1 \
--key "${{ secrets.PRIVATE_KEY }}" \
--key-alias CI-RSA-KEY \
--project ${{ vars.PROJECT }}
echo " Evidence attached: integration-test " >> $GITHUB_STEP_SUMMARY
リリース バンドルに添付されたエビデンスは、エビデンス グラフを通じて確認できます。このグラフは、すべてのエビデンス アーティファクト、対象物、およびそれらの関係を視覚的に示したスナップショットです。

特定のアーティファクトに関連付けられたエビデンス ファイルの一覧も確認できます。

もちろん、監査の一環としてエビデンス データをクエリし、エクスポートすることも可能です。
エビデンス コレクションの導入を迅速化するために、GitHub で複数のスクリプト例を公開しています。
リリース ライフサイクル管理でエビデンスをさらに活用
エビデンス コレクションはスタンドアロンで機能するように設計されていますが、リリース ライフサイクル管理と組み合わせることで、リリースの内容やプロセスを信頼するために必要な品質管理ゲートを作成できるようになります。
証明のエビデンスが揃った不変のリリース候補が本番環境に進むことで、組織はすべてのソフトウェアが必要なプロセスを経ており、適切な基準を満たし、改ざんされていないことを確信できます。
詳細は、ライブの「リリース ライフサイクル管理+エビデンス コレクションのマスタークラス」でご覧ください。
エビデンス コレクションを使い始める
サードパーティのエビデンス コレクションは、現在 JFrog Cloud Enterprise の年間サブスクリプション契約者向けに提供されており、今四半期中に Self Hosted のお客様にも提供予定です。今すぐ使い始めて、ソフトウェア サプライ チェーンに対するガバナンスを確立しましょう。
記事参照: Now Available: Evidence Collection with JFrog
世界の人気ソフトウェアを提供するエクセルソフトのメールニュース登録はこちらから。