この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は エ

解説

SonarQubeはオープンソースの静的コード解析プラットフォームです。主な機能は「バグ検出」「コードの重複検出(コードスメル)」「セキュリティ脆弱性につながるコードの自動検出(SQLインジェクション・XSSなど)」「技術的負債の可視化」「テストカバレッジ計測」です。CIパイプラインに組み込んでプルリクエスト時に自動レビューすることができます。アジャイル開発では各スプリントでコード品質を維持するために活用されます。他の選択肢との違い:Gitはバージョン管理、JenkinsはCI/CDオーケストレーション、SnortはIDS/IPSです。

なぜ他の選択肢は違うのか

選択肢 ア
Gitはバージョン管理システム(分散型)です。コードの変更履歴管理・ブランチ管理には使いますが、バグや脆弱性の静的検出機能はありません。
選択肢 イ
JenkinsはCI/CD(継続的インテグレーション/継続的デリバリー)のオーケストレーションツールです。ビルド・テスト・デプロイの自動化を担いますが、コードの静的解析は行いません(SonarQubeと連携して使われることは多い)。
選択肢 ウ
SnortはオープンソースのIDS/IPS(不正侵入検知・防止システム)です。ネットワークトラフィックをリアルタイムで監視して攻撃を検知するものであり、ソースコードの解析ツールではありません。

解くときのポイント

SonarQube=「ソースコードの静的解析・バグ/脆弱性/重複の自動検出ツール」。Git=バージョン管理、Jenkins=CI/CD、Snort=IDS/IPS、SonarQube=コード品質解析、の4つを用途で区別。「コード品質」「静的解析」「OSS」のキーワードでSonarQubeを選ぶ。