令和7年度 春期 情報処理安全確保支援士試験 午前II 問22
テクノロジシステム開発技術開発プロセスDevOps・開発環境とツール
アジャイル開発のプロジェクトで,ソースコードの品質を向上させるために,バグ,コードの重複,脆弱性につながるコードを自動で検出することができるOSSのツールを導入したい。導入するOSSとして,最も適切なものはどれか。
解答・解説
正解: エ. SonarQube
本問は、ソースコードの静的解析を行い、品質を向上させるためのOSSツールを選択する問題です。
正解は エ の SonarQube です。
SonarQube は、ソースコードを静的に解析し、バグやコードの重複、セキュリティ上の脆弱性につながるコードなどを自動的に検出・可視化するオープンソースのプラットフォームです。アジャイル開発における継続的インテグレーション(CI)環境と組み合わせて、コード品質の維持・向上目的で広く利用されています。
各選択肢の解説
- ア Git: プログラムのソースコードなどの変更履歴を記録・追跡するための 分散型バージョン管理システム です。ソースコードの品質やバグを自動検出するツールではありません。
- イ Jenkins: ビルドやテスト、デプロイなどのソフトウェア開発プロセスを自動化するための CI/CD(継続的インテグレーション/継続的デリバリー)ツール です。品質チェックプロセスの自動化には使われますが、ツール単体がソースコードの静的解析やバグ検出を行うわけではありません。
- ウ Snort: ネットワーク上を流れるパケットを監視し、不正アクセスや攻撃を検知・防御する ネットワーク侵入検知システム(NIDS) です。ソースコードの品質検査とは無関係です。
- エ SonarQube: 正解の選択肢です。上述の通り、ソースコードの静的解析を行い、バグや脆弱性を自動検出するツールです。