SAST(さすと)
最終更新:2026/4/25
SASTは、ソフトウェアのソースコードを静的に解析し、セキュリティ上の脆弱性を検出する手法である。
別名・同義語 静的解析ソースコード解析
ポイント
SASTは、実行前に脆弱性を発見できるため、開発初期段階での対策に有効である。シフトレフトの考え方に基づいたセキュリティ対策として注目されている。
SASTとは
SAST (Static Application Security Testing) は、ソフトウェアのソースコードを実際に実行することなく、静的に解析することでセキュリティ上の脆弱性を検出する手法です。開発段階の早期に脆弱性を発見し、修正することで、リリース後のリスクを低減することを目的としています。
SASTの仕組み
SASTツールは、ソースコードを解析し、既知の脆弱性パターンやコーディング規約違反などを検出します。解析方法は、主に以下のものが挙げられます。
- ルールベース解析: 事前に定義されたルールに基づいて、コードをチェックします。
- データフロー解析: コード中のデータの流れを追跡し、脆弱性につながる可能性のある箇所を特定します。
- 制御フロー解析: コードの実行経路を分析し、脆弱性につながる可能性のある箇所を特定します。
SASTのメリット
- 早期発見: 開発初期段階で脆弱性を発見できるため、修正コストを抑えることができます。
- 網羅性: ソースコード全体を解析するため、手動レビューでは見落としがちな脆弱性も検出できます。
- 自動化: 解析プロセスを自動化できるため、効率的に脆弱性を検出できます。
SASTのデメリット
- 誤検知: 脆弱性ではない箇所を脆弱性として検出してしまうことがあります。
- 対応言語の制限: SASTツールが対応しているプログラミング言語が限られている場合があります。
- 複雑な設定: SASTツールの設定や運用には、専門的な知識が必要となる場合があります。
SASTと他のセキュリティテストとの比較
SASTは、動的解析 (DAST) やインタラクティブ解析 (IAST) といった他のセキュリティテスト手法と組み合わせて使用することで、より効果的なセキュリティ対策を実現できます。DASTは、実際にアプリケーションを実行して脆弱性を検出する手法であり、SASTとDASTを組み合わせることで、より網羅的な脆弱性検出が可能になります。