コスト削減計算ツールとは
ROI calculator を使うと、プッシュ保護によってシークレットの漏えいを防ぐことで回避できるコストを見積もることができます。 この情報は次のような場合に役立ちます。
- Organization 内で GitHub Secret Protection を有効にする範囲を決定します。
- さまざまなチームまたは環境におけるプッシュ保護の推定影響を比較します。
- ロールアウトの決定に伴う時間とコストの影響を関係者に伝えます。
プッシュ保護は有料機能であり、GitHub Secret Protection で使用できます。 詳しくは、「GitHub Secret Protection の選択」をご覧ください。
前提条件
- Organization のシークレット リスク評価を生成しておく必要があります。 「Organization のシークレット リスク評価レポートの表示」を参照してください。
- 次の点について現実的な値を用意します。
- 漏えいしたシークレット 1 件あたりの平均修復時間 (時間)
- 開発者の平均年収 (米国ドル)
プッシュ保護によるコスト削減の見積もり
-
GitHub で、organization のメイン ページに移動します。
-
組織名の下で、 [ セキュリティ] をクリックします。
-
サイドバーの [Security] で、[ Assessments] をクリックします。
-
バナーの右上隅の [Get started] をクリックします。
-
ドロップダウンから [Estimate push protection savings] を選びます。
-
[Preventable leaks] (P) の編集できない値をレビューします。 0 の場合、モデリングの目的でベースライン値 (70 など) が表示されます。
-
開発者の平均年収 (C) を米国ドル単位で入力または調整します。
- 総額年収 (給与 + 福利厚生) を使います。
- 過大評価を避けるために、見積りは控えめにします。
-
1 件の漏えいしたシークレットを修復する時間 (T) を時間単位で入力または調整します。 シークレットの取り消し、ローテーション、検証、チームや顧客への通知のステップを反映した平均修復時間を使うことをお勧めします。
- 単純なローテーション、最小限の調整の場合、T = 1 - 1.5 時間
- 分散型チームや追加チェックを考慮した場合、T = 2 - 3 時間
- 規制または監査対象の環境で作業する場合、T = 3 - 4 時間
-
[Return on investment] パネルの出力をレビューします。
- Secrets prevented: 検出された防止可能なシークレット数。
- Time saved: 入力に基づいて、これらのシークレットを防ぐことで節約された合計時間数。
- Potential savings with push protection: 回避された推定の合計人件費。
結果を理解する
次は、結果をレビューしてその意味を理解し、organization 内でプッシュ保護を導入する適切な範囲を決定します。 結果を解釈する際には、次の情報を念頭に置いてください。
計算ツールが行うこと:
- プッシュ保護によって禁止されたシークレットについてのみ、節約額を見積もる。
- ユーザーが指定したリスク評価と想定に基づいて結果を生成する。
- 人件費の回避のみに基づいて見積もりを生成する。
- 現在のスキャン ウィンドウでシークレットが検出されなかった場合は、防止可能な漏えいのモデル化されたベースラインを提供する。
計算ツールが行わないこと:
- データ侵害や外部からの影響に関連するコストを含める。 参考までに、IBM によれば、2024 年のデータ侵害のコストは平均 488 万ドルでした。
- 他の GitHub Secret Protection 機能による時間の節約額を含める。
- 米国ドル以外の通貨をサポートする。
トラブルシューティング
計算ツールの使用中に問題が発生した場合は、次の表を参考にしてトラブルシューティングしてください。
問題点 | アクション |
---|---|
"Preventable secrets" = 0 | 防止可能なシークレットが検出されない場合、計算ツールにはモデリングの目的で既定のベースライン値 (70 など) が表示されます。 ベースラインを実際のデータに置き換えるには、プッシュ保護を有効にするリポジトリを増やし、シークレット スキャンでより多くの情報を収集できるようにします。 |
"Estimated savings" が "$5M+" | 計算ツールの上限は 500 万ドルです。 モデル化された節約額がこのしきい値を超えると、UI には値が "$5M+" と表示されます。 正確な金額を取得するには、入力値 (防止可能なシークレット、修復にかかる時間、開発者の給与) をエクスポートし、スプレッドシートで数式をレプリケートします。(Secrets prevented) × (Time to remediate) × (Hourly rate) 。この hourly rate は Salary ÷ 2080 で算出されます。 |
値が低いと感じる | 修復にかかる時間と開発者の平均報酬について入力値をレビューします。 修復に必要なすべてのステップ (取り消し、ローテーション、検証、通知など) が含まれていること、給与に年間合計コストがすべて反映されていることを確認します。 |
値が高いと感じる | 修復にかかる時間と平均報酬について入力値を見直し、それらが現実的であり誇張されていないことを確認します。 見積もりを歪めている可能性のある外れ値をすべて削除します。 |
参考資料
- GitHub の
resources
リポジトリの「コード内のシークレット漏えいの検出と防止」