SCA
Software Composition Analysis
SCA(ソフトウェア構成分析)とは
ひとことで
アプリケーションが利用しているオープンソースなどのサードパーティ製コンポーネントを洗い出し、既知の脆弱性やライセンス上の問題を検出する手法・ツール。SBOMの作成にも使われる。
たとえると
お弁当の「原材料」を一つずつ確認して、リコール対象の材料が使われていないかを調べるようなものです。自分で作ったおかず(自社のコード)ではなく、仕入れた材料(外部のライブラリ)に問題がないかを見ます。
現場ではこう使う
開発チームは、CI/CDのパイプラインにSCAツールを組み込みました。ビルドのたびに、使用しているライブラリとバージョンが脆弱性データベースと照合されます。ある日、深刻な脆弱性のある古いバージョンのログ出力ライブラリが見つかったため、ビルドが自動で止まり、開発者はライブラリを更新してから再度ビルドしました。
試験のポイント
EXAM POINT「オープンソースやサードパーティのライブラリ」「依存関係」「ライセンスの確認」と出てきたらSCAです。自社で書いたソースコードを解析するのはSAST、動いているアプリを外から試すのはDASTと区別しましょう。SBOMは部品の一覧表(成果物)で、SCAはそれを作成・照合する手段という関係も押さえておきます。
混同しやすい用語との違い
- SAST自社で書いたソースコードの脆弱性を解析する。SCAは外部から取り込んだ部品を調べる
- DAST動作中のアプリに外から攻撃を試して脆弱性を探す
- SBOMソフトウェアの部品の一覧表。SCAはその一覧を作り、脆弱性と照合する手段