SAST (Static Application Security Testing) とはアプリケーションのソースコード、バイトコード、バイナリコードに対して脆弱性が内在するか否かを確認するテスト手法であり、ホワイトボックステストの一種である。
SASTは、アプリケーション機能をブラックボックステストするDAST (Dynamic Application Security Testing)と異なり、アプリケーションのコードコンテンツ、ホワイトボックステストに焦点を当てている。SASTツールは、関数レベル、ファイルまたはクラスレベル、アプリケーションレベルなどの分析レベルによりソフトウェアとアーキテクチャに潜在するセキュリティの脆弱性を特定する。
SASTは、SASTツールによる評価を、ソフトウェア開発ライフサイクルの早い段階にソースコードレベルで実行することができ、コード内にハードコードされたパスワードやシークレットの検索も可能である。ソースコード全体をチェックするため、ソースコードの100%をカバーすることができ、開発段階でのアプリケーション不具合の早期発見、対処コストの低減、品質向上に繋がる効果がある。
一方で、SASTツールの開発フェーズで早期実行は誤検知などが多く発生し、開発メンバの調査時間が長くなるなどの課題があるため、SASTツールの統合タイミングの考慮や、他のテスト手法とも組み併せて、効率的な評価を行えるような検討も必要である。