ソフトウェアのブランチとマージをサポートする構成管理はDevOpsの重要なコンポーネントです。ソフトウェアブランチングは、ソフトウェアの複数の部分を同時に開発し、多様なプラットフォームに対応して複数のリリースを用意することを可能にし、様々な役割と責任を持つ大規模なソフトウェアチームの管理を支援します。
アプリケーションセキュリティの観点からは、ブランチレベルでの可視性の追跡が困難になることは良くあることです。また、多くの企業では、セキュリティテストを依然としてリリースブランチでのみ行っています。これには、複数のバージョンやブランチでセキュリティ上の問題を管理するコストと複雑さなど、さまざまな理由があります。
機能ブランチを用いることで、開発チームが共同で作業することも、メインのコードベースのコピーを使用して個別に作業することもできます。プロジェクトの作業は数時間、数日、または数週間かかり、製品によっては数か月かかる場合もあります。特定の機能に取り組む際、発生の可能性があるセキュリティの欠陥を開発チームに伝える時期としては、機能の開発中が最適です。
セキュリティ解析は、メインブランチ/リリースブランチ式のコンプライアンススキャンではなく、ライフサイクルの早い段階で実行して、機能の開発段階でセキュリティ結果を提供できるようにする必要があります。これにより、後工程で解析実行を忘れる心配がなく、問題が速やかに解決する可能性がはるかに高くなります。ただし、これは簡単なことのように思えるかもしれませんが、トリアージが複雑になる要因を秘めています。
機能ブランチでセキュリティスキャンを実行した結果をそのまま開発チームに提供することはできません。セキュリティツールを装備する際には、既存のセキュリティ上の問題(または誤検知やコンテキストフィルター)に対して以前に発生した監査の背景情報の完全な履歴を把握している必要があります。過去の監査で監査人が先送りした既存または既知のバグを再発見しても役に立ちません。
開発チームは通常、セキュリティ上のミスが通知されることを望みます。過去の監査が適用された効率的な通知であれば、なおのことです。通知されたミスをブランチ内のセキュリティ問題をまとめたリストに追加することで、コードをメインブランチにマージする前に確実に修正することができます。開発チームはセキュアな選択を簡単に行えるようになり、可視化をSDLCの後行程に移行することで、セキュリティチームと開発チームの摩擦が軽減され、高品質のソフトウェアを構築できます。
この可視レベルにより、コードのセキュリティが向上し、開発する製品の品質を高めることができます。フィードバックループを利用し、開発の観点から重大な脆弱性と修正案を伝えることで、修正に必要な情報を確実に提供し、DevOpsプロセスへの摩擦を軽減します。
この可視レベルを提供することは、DevSecOpsを効果的に行うために不可欠です。Code Dx®は、DevSecOpsを実現し、開発チームが個々のプロジェクト内の複数のプロジェクトブランチの監査と解析を実行するために役立つ多くの機能を備えています。これにより、ソフトウェアの監査と修正の管理、ソースコード管理(SCM)ワークフロー内でのセキュリティに関する意思決定の統合、および複数のコードコミットによる中断と効率低下の抑制のために柔軟な対応が可能になります。
DevSecOps支援のためのCode Dxの機能