著者は、「セキュリティビルドドリフト」を、セキュリティ構成がMavenプロジェクト間で一貫性を失う問題として特定しており、これは自動化に似ているものの均一性を欠いている。同氏は、ばらばらのパイプラインスクリプトに依存するのではなく、セキュリティワークフローをMavenライフサイクルに統合するために「secure-maven-extension」を作成した。このコア拡張機能は、`.mvn/extensions.xml` を介してロードされ、afterProjectsReadステージ中にセキュリティ規約を注入し、JaCoCo、SonarQube、Dependency-Check、CycloneDXなどのツールに対して一貫した構成を可能にする。この拡張機能は、さまざまな構成ソースをサポートし、単一のスタイルを強制するよりも一貫性を優先し、ローカルおよびCI/CDで同じセキュリティ動作が適用されることを保証する。これは、カバレッジ構成やSonarQubeメタデータの設定などのタスクを自動化し、ビルドがセキュリティを意識し、パイプラインがその周りでスキャナーを呼び出すだけになることを防ぐ。マルチモジュールプロジェクトの場合、この拡張機能はSBOM生成と依存関係分析を処理し、それらをアプリケーションの形状に合わせる。このアプローチはCI/CDパイプラインを簡素化し、それらを主に実行レイヤーにし、Mavenビルド自体がセキュリティプラクティスを強制する。コミット前のフックやGitleaksのようなツールは、コミット前に漏洩を検出するために使用される。このレイヤードモデルは、ビルドプロセス中のセキュリティを優先し、アプリケーションセキュリティプラクティスの信頼性と一貫性を向上させる。
dev.to
Making Maven Builds Security-Aware: AppSec Checks Without CI/CD Drift
Create attached notes ...
