静的解析(ソースコード検査)とは?せいてきかいせき
静的解析(ソースコード検査)とは、プログラムを実行せずにソースコードやバイナリを機械的に調べ、危険な書き方・規約違反・脆弱性の疑いを検出する手法。網羅的に短時間で走らせられる一方、実行時にしか現れない欠陥は捉えられないため、動的テストや脆弱性診断と組み合わせて使う。製品群はSASTと呼ばれる。
最終更新:2026-10-06
情報処理安全確保支援士を最短で暗記・合格する →背景
脆弱性は結合テストや本番で見つかるほど是正の費用が跳ね上がり、レビューを人手だけで回すと開発の量に追いつかない。書いた時点で機械が典型的な危険パターンを指摘する形にして、検査を工程の早い側へ前倒ししたのがこの手法である。委託開発では、成果物の品質を客観的に確かめる手段としても使われる。検査を工程に組み込むこと自体が、委託先を含めた品質の証跡になる点も押さえておきたい。
具体例
GitHubのCodeQLやSonarQubeをCIに組み込み、プルリクエストごとにSQL文の文字列連結や未検証の入力を検出する。委託契約では、納品前にツールを実行し重大と判定された指摘をすべて解消したうえで結果報告書を提出するよう条件に書く。
試験での引っ掛け
同じ「静的解析」でも、マルウェアを実行せずに構造を調べる検出手法を指す場合があり、シラバスでも別の分野に置かれている。検出できるのは書き方の問題までで、業務要件の取り違えや設計上の欠陥は出ない。誤検出も混ざるため、指摘件数をそのまま品質指標に使うのも適切でない。
関連用語
出典・参考
公式シラバスの3 技術要素 > 4. 情報セキュリティ対策 > (1) 情報セキュリティ対策の種類に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。