プロジェクト

ゼロから12か月で DevSecOps を

インドネシアの通信事業者は、本番リリースの直前に手作業でセキュリティを検査していました。それをすべてのコミットとビルドの一部にした1年を、私が率いました。

役割
Principal DevSecOps Consultant
期間
2025年
クライアント
インドネシアの通信事業者

何が問題だったのか

劇的なことは何もありませんでした。それが要点です。セキュリティは各リリースの最後に手作業で確認されていました。指摘はコードが完成してから届くので、リリースは待たされ、同じ手戻りがスプリントごとに繰り返されました。遅れは目に見える部分にすぎません。その下では、監査指摘が積み上がり、古いコードは誰も時間を割けない負債を抱え、サードパーティの部品は確認されないまま本番に入り、小さなセキュリティチームはいつも後手に回っていました。全員が自分の仕事をしていました。仕事が、間違った場所にあったのです。

12か月の道。4つの段階と、その間の関門。下に0、3、6、12か月の目盛り。
  1. 基盤、0〜3か月:評価、ポリシー、パイロットアプリでのコードと依存関係の検査。
  2. 自動化、3〜6か月:ポリシーゲート、シークレット検査、動的テスト。
  3. 拡大、6〜12か月:パイプラインのテンプレート、インフラとコンテナの検査。
  4. 最適化、12か月以降:実行時の監視と、四半期ごとの数字の見直し。

赤い印は出口の関門。道の下の点は、各段階を測る場所です。

何をしたのか

道具ではなく、人から始めました。ある役員が変化のスポンサーになることに同意し、DevSecOps フォーラムが集まり始め、各開発チームがセキュリティチャンピオン、つまり問いを双方向に運ぶ人を一人ずつ決めました。そのあとでようやくロードマップを描きました。ガイドライン、標準、パイプラインに差し込む道具を、OWASP DevSecOps Maturity Model で測ります。目標は単純でした。12か月以内にすべてでレベル2、最も重要な2つの領域、ビルドとデプロイ、テストと検証でレベル3。

1年を4つの段階に切り、それぞれに通過しなければ出られない関門を置きました。最初の3か月は基盤。評価、ポリシー、1〜2本のパイロットアプリでのコードと依存関係の検査。それ以上はしません。3〜6か月は自動化。ポリシーゲート、シークレット検査、動的テスト。6〜12か月は拡大。新しいチームが最初から安全に始められるパイプラインのテンプレート、インフラとコンテナの検査。12か月を過ぎると最適化が来ます。これは終わりません。実行時の監視と、四半期ごとに数字を見ること。

ライフサイクルのすべての工程に対策がつきました。計画で脅威モデリング。コーディングでシークレット検査。ビルドでコード、依存関係、部品表の検査。テストで動的テスト。リリースで署名付き成果物とポリシーゲート。デプロイでシークレット保管庫を伴うインフラとコンテナの検査。運用で監視。そして持ち主のいない道具は朽ちるので、ポリシー、パイプライン運用、修正、トリアージの責任の決まりを RACI として書き直し、NIST SSDF、OWASP SAMM、ISO/IEC 27001:2022 に対応づけました。監査人が求める証拠が、自然に積み上がるように。

何が変わったのか

セキュリティは出来事であることをやめ、習慣になりました。習慣が続いているかは4つの数字が語ります。それぞれ最初の段階で基準値を取りました。重大な欠陥をどれだけ早く直すか、本番前に見つかる指摘の割合、安全なパイプラインを通るアプリの数、リリースにかかる時間。どの対策もまず試行し、次に自動化し、チームが信頼してからようやくリリースの関門にしました。この順番が、こうしたプログラムを沈める二つのリスク、開発者の抵抗とアラート疲れが、根を張るのを防ぎました。