DevSecOps での開発とテストでは、セキュリティが毎日のエンジニアリング作業の一部になるか、チームが対処が遅すぎるかを判断します。 コーディング、ツール、統合、テストに関する強力なプラクティスは、コードの記述中にチームが問題を見つけて修正するのに役立ちます。
この機能領域では、チームがセキュリティで保護されたコードを記述し、承認されたツールとコンポーネントを使用して開発を高速化し、作業を統合してテストする方法について説明します。 セキュリティが日々のエンジニアリングの一部になるか、後回しにされるままになるかの分岐点です。
組織が成熟するにつれて、開発とテストは、さまざまなアンマネージド アクティビティから、個々の開発者向けに調整された最適化された環境に移行します。 セキュリティ テストは継続的になり、AI とオープンソースは統制されていない状態から、企業で安全に活用でき、目的に沿って運用されるものへと移行し、テストは定期的かつ手動のものから、自動化され、シフトレフトされたものへと移行します。
コア機能領域
DevSecOps での開発とテストでは、次の 3 つのサブ機能に重点を置いています。
コード セキュリティ: セキュリティ ツールとテストが記述およびレビューされたコードにどのように適用されるか。
開発アクセラレータ: AI、オープンソース、再利用可能なコンポーネントを管理し、配信を高速化するために使用する方法。
統合とテスト: リポジトリ、ブランチ、ビルド、自動テストを管理する方法。
段階
成熟度の 5 段階を経た開発とテストの進行状況。 これらのステージでは、非管理対象の実験から、開発者の効率を向上させる最適化されたコードとテスト環境まで、DevSecOps の原則が開発者アクティビティでどのように表示されるかを示します。
| 全体の段階 | ステージ名 | 見た目 |
|---|---|---|
| アドホック | 異なる | リソースの管理なし。迅速なプロトタイプ作成と奢夦放な探索。 |
| 開始 | 創発的 | チームは、DevOps の考え方に移行し始め、監視を即興で行います。 |
| オーケストレーター | 継続的 | 自動化による包括的な戦略により、標準が継続的なプロセスにベイクされます。 |
| 効率化 | 左シフトされた | 左にシフトすると、問題が早期に見つかり、修復コストが低くなることを意味します。 |
| パイオニア | 最適化 | コードとテスト環境は、個々の開発者の効率のために最適化されています。 |
分散(アドホック)
リソースの管理や初期のコーディング アクティビティを使用しない場合は、迅速なプロトタイプ作成と未完了の探索が可能です。 この状態は、スタートアップ企業や新しい組織にとって自然な出発点です。
コード セキュリティ: コード セキュリティ ツールの一貫した使用はほとんどまたはまったくないため、リスクが高まっています。
開発アクセラレータ: Teams は組織外で承認されていない AI ツールを使用し、オープンソースソフトウェアまたはコミュニティ コード サンプルを広範に使用します。 ポリシーが不足していると、一部の開発者がこれらのツールを完全に回避し、効率の機会を逃す可能性もあります。
統合とテスト: 作業は複数のリポジトリに分散され、ビルドはさまざまな構成で手動で実行される頻度が低い。
エマーデント (開始)
チームは資産と手法の監視を即興で開始し、DevOps の考え方へのより広範なシフトを開始します。
コード セキュリティ: Teams ではローカル セキュリティ テスト ツールが使用される場合があります。
開発加速要因: チームは、未承認の AI やオープンソースに伴うリスクを認識しており、開発者コミュニティからのコード再利用に関する制限やガイドラインを含むポリシーが、組織内の一部で策定され始めています。
統合とテスト: Teams はリポジトリとブランチ戦略を定義します。 テストはほとんどが定期的で、手動で、場合によってはアウトソーシングされます。 同時に、部分的にテストのしやすさが見られ始め、一部のチームは継続的インテグレーションを実践するようになります。
継続的 (オーケストレーター)
自動化によってサポートされる包括的な戦略により、動的なツールとプロセスは、標準を継続的なワークフローと監視にベイクするのに役立ちます。
コード セキュリティ: 一部のセキュリティ テストが実施され、セキュリティがコード レビューの一部になり、より詳細なセキュリティ テストがスケジュールに従って実行されます。 標準化された名前付けおよび分岐戦略が採用されています。
開発アクセラレータ: エンタープライズセーフな AI とオープンソースは、使用ポリシーで使用できます。 AI は、プログラミング支援として IDE に統合され、プル要求ワークフローを改善する DevOps ツールに統合されます。
統合とテスト: 標準化された名前付け、分岐戦略、およびテスト フレームワークが導入されています。 自動テストは、一部の統合テストを含め、プライマリ CI/CD パイプラインに導入されます。
左シフトされた (効率化)
左にシフトする環境を作成することは、問題が早期に見つかり、修復コストが低くなることを意味します。
コード セキュリティ: チームは、重大度の高いセキュリティ検出事項に対してゲートを適用します。 IDE コード ツールには、迅速な挿入やデータポイズニングに対する保護など、セキュリティ機能が含まれています。
開発アクセラレータ: Teams では、明確なパターンと標準に合わせて調整されたエンタープライズセーフな大規模言語モデル (LLM) が使用されます。 AI を利用したソフトウェア エンジニアリングおよび DevOps エージェントは、作業の自動化を開始し、自律性の向上に伴って運用を開始します。
統合とテスト: 単体テストや統合テストなど、広範なテスト プラクティスが実施されています。 自動テストは継続的に実行され、プロセスの早い段階で問題をキャッチします。 Teams では、フィッシング シミュレーションも使用されます。
最適化 (パイオニア)
個々の開発者向けにコードとテスト環境を最適化すると、よりパーソナライズされた効率が得られます。
コード セキュリティ: セキュリティは継続的になり、高度な可観測性によってサポートされます。
開発アクセラレータ: 開発者は、独自のカスタム パターンを使用してコード アシスタント LLM を拡張します。 コンポーネントの使用は意図的になり、パフォーマンス、コンプライアンス、およびリスク管理の目標を満たすように設計されています。 MCP サーバーとオーケストレーションは、ツールチェーンの一部として出現します。
統合とテスト: テストの自動化は、パフォーマンス テストを含む包括的なものになります。 また、チームは AI 主導の脅威検出を採用し、エンジニアリング フィードバック ループを改善するためのその他の機会を追求します。