マルテクテクBETA Security+
CI/CD
Continuous Integration / Continuous Delivery

CI/CD(継続的インテグレーション/デリバリー)とは

ひとことで

ビルド・テスト・デプロイを自動化する開発手法。パイプラインにSASTや依存関係スキャンを組み込むことでセキュリティを前倒しできる。

たとえると

工場の「自動化された生産ライン」です。部品(コードの変更)が届くたびに、自動で組み立て(ビルド)・検品(テスト)を行い、合格したものだけが出荷(リリース)へと進みます。検品の工程にセキュリティ検査を組み込めば、問題のある製品は出荷前に止まります。

現場ではこう使う

開発チームは、開発者がコードを共有リポジトリに登録するたびに、自動でビルドとテストが走る仕組みを使っています。そのパイプラインにソースコードの脆弱性スキャン(SAST)と、使っているライブラリの既知の脆弱性チェックを組み込んだところ、深刻な脆弱性が見つかった変更は自動で止まり、本番環境に出る前に修正できるようになりました。

試験のポイント

EXAM POINT「コードの統合・テスト・リリースの自動化」ならCI/CD。セキュリティの観点では、パイプラインにSASTや依存関係のスキャンを組み込み、開発の早い段階で問題を見つける「シフトレフト」がポイントです。また、パイプライン自体が攻撃されると不正なコードが本番に届くため、パイプラインの権限や認証情報(シークレット)の管理も問われます。CDは継続的デリバリー(本番リリースは承認後)と継続的デプロイ(本番まで自動)の両方の意味で使われます。

混同しやすい用語との違い

  • IaCサーバーやネットワークの構成をコードで定義する手法。CI/CDはそのコードの適用も自動化できる
  • SASTソースコードを実行せずに解析する検査。CI/CDのパイプラインに組み込む工程の1つ
  • DAST動いているアプリに外から攻撃を試す検査。これもパイプラインに組み込む工程の1つ

関連用語

CI/CD が出てくる Security+ の問題に挑戦してみましょう。

無料で演習を始める