SC Workbook
科目 A-2 · セキュリティ

SCA の運用上の留意点

A 社は,多数の OSS ライブラリを利用する業務システムを開発している。ビルドのたびにソフトウェア構成分析(SCA)ツールで利用コンポーネントを検査し,既知の脆弱性が検出されないことをリリースの条件としている。この運用に関する記述として,適切なものはどれか。

  1. アSCA ツールで既知の脆弱性が検出されなければ,自社で作成したコードに含まれる認可処理の不備などの脆弱性もないとみなすことができる。
  2. イリリース時に既知の脆弱性が検出されなかったコンポーネントでも,後から新たな脆弱性が公表されることがあるので,リリース後もコードの変更の有無にかかわらず継続的に照合する必要がある。
  3. ウSCA ツールは,ツールのデータベースに登録されていないライブラリについても,ソースコードの記述から脆弱性の有無を判定できる。
  4. エ推移的に依存するライブラリは開発者が直接選定したものではないので,SCA ツールの検査対象から除外して検査時間を短縮するのがよい。
正解と解説を見る

正解 イ

この問題の基礎知識

  • SCA(ソフトウェア構成分析)は,ソフトウェアに含まれる OSS などの外部コンポーネントを特定し,既知の脆弱性のデータベースなどと照合する手法である。
  • 自社で作成したコードの脆弱性は,ソースコードを解析する静的解析(SAST),動作中のアプリケーションを検査する動的解析(DAST),レビューなどで検出する。
  • 既知の脆弱性の情報は随時追加されるので,リリース時に問題がなかったコンポーネントでも後から脆弱性が判明し得る。推移的に依存するライブラリもソフトウェアに取り込まれて実行され得る。
アSCA ツールで既知の脆弱性が検出されなければ,自社で作成したコードに含まれる認可処理の不備などの脆弱性もないとみなすことができる。

SCA は,ソフトウェアに含まれる外部のコンポーネントを特定し,報告済みの脆弱性と照合するものである。自社で作成したコードの脆弱性の検出には,静的解析や動的解析,レビューなどの別の検証が必要である。

イリリース時に既知の脆弱性が検出されなかったコンポーネントでも,後から新たな脆弱性が公表されることがあるので,リリース後もコードの変更の有無にかかわらず継続的に照合する必要がある。正解

既存のコードの新たな脆弱性はいつでも報告され得るので,コンポーネントは既知の脆弱性のデータベースと継続的に照合する必要がある。リリース時の検査だけでは,公開後に判明した脆弱性を見逃す。

ウSCA ツールは,ツールのデータベースに登録されていないライブラリについても,ソースコードの記述から脆弱性の有無を判定できる。

SCA ツールはライブラリをツールのデータベースと照合して特定するので,データベースにないライブラリは特定できない。コードから未知の脆弱性を探す静的解析とは仕組みが異なる。

エ推移的に依存するライブラリは開発者が直接選定したものではないので,SCA ツールの検査対象から除外して検査時間を短縮するのがよい。

直接選定していなくても,推移的に依存するライブラリはソフトウェアに取り込まれて実行され得る。実際に取り込まれているコードを把握することが SCA の目的であり,除外すると脆弱なコンポーネントを見逃す。

検証用の出典出典照合済み
NIST IR 8397 Guidelines on Minimum Standards for Developer Verification of Software / NIST SP 800-218 Secure Software Development Framework (SSDF) Version 1.1 PW.4.4, RV.1.1
照合の根拠(4 件)
問題 ID A2-SEC-0117 · AI 作成のオリジナル問題 · 正解と各選択肢の根拠を出典の原文で確認しています。 照合日 2026-11-08

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。