【エスエーエスティー】
SAST(静的アプリケーションセキュリティテスト) とは?
最終更新:
💡 動かす前のコードに「ここを確認」の付箋を貼る
プログラムを実行せずにコードを解析し、脆弱性につながる書き方やデータの流れを探すセキュリティ検査。開発中の早い段階で問題の候補を見つけられる。検出範囲はツールや設定によって異なり、報告の確認も必要。
SASTと静的解析は、同じもの?
危ない書き方は、どう見つける?
たとえば利用者の入力をそのままSQL文につなげていたら、SQLインジェクションの原因になることがあるよ。テイント解析などで入力から処理までの流れを追い、確認すべき箇所を示すんだ。
いつ使えばよいの?
コードを書くIDEや、変更を取り込む前の自動検査に組み込めるよ。問題の候補を早く見つけ、修正後にも繰り返し調べられる。ただし、対象の言語やビルド環境に対応したツールを選ぼう。
報告されたら、必ず脆弱性?
実際には問題がない誤検知も、問題を報告できない見逃しもあるよ。入力の扱いや実際の利用条件を人が確認する。ツールが見ていない外部システムや設定は、コードの検査だけでは判断できないこともあるんだ。
SASTだけで、安全を確認できる?
まとめ:ざっくりこれだけ覚えればOK!
「SAST」って出てきたら「コードを動かさず、危ない書き方を探す検査」と思えばだいたいOK!
📖 おまけ:英語の意味
「Static Application Security Testing」 = 静的アプリケーションセキュリティテスト
💬 Static(静的=動かさない)なApplication(アプリ)のSecurity Testing(安全性の検査)だよ。対になる言葉がDAST(動的=動かして検査)だね