DASTとは「Dynamic Application Security Testing」の略で、アプリケーションのセキュリティ テストを動的に行うことを意味しています。これと対になる言葉として「SAST(Static Application Security Testing)」があります。DASTは、アプリケーションが実際に動いている状態で、どのようなセキュリティ上の脆弱性があるのかを検出するために用いられます。これに対してSASTは、アプリケーションのソース コードを静的に検査し、潜在的な脆弱性を見つけ出します。
DASTとSASTはどちらか一方だけで十分というものではありません。いずれにも一長一短があるからです。
DASTは実際にアプリケーションを動かして検査を行うため、現実的に起こり得る優先順位の高い脅威を効率的に見つけ出せます。しかし網羅性を高めるにはより多くのテストを行う必要があるため、テスト範囲の設定によっては重要な脅威を見逃す危険性があります。これに対してSASTは比較的網羅的な検査が行えますが、発見される脆弱性が現実的に優先順位の高いものだとは限りません。
そのためアプリケーションのセキュリティを高めるには、DASTで優先順位の高い脆弱性を検出しつつ、SASTで網羅性の高い検査を行うという、両者を組み合わせたアプローチが必要だと言えます。