実践的なセキュリティツールの活用
「レビュワー」としてのマインドセットを支える、強力なツールを紹介します。これらを使えば、AIのアウトプットを効率的に検証できます。
SAST(静的解析):コードそのものを検査する
SAST(Static Application Security Testing)は、コードを実行せずに分析し、問題点を見つける技術です。インジェクション(A03:2021)やセキュリティ設定ミス(A05:2021)のような脆弱性をコーディングの段階で発見できます。
ツール例
- SonarQube(オープンソース/商用)
- Checkmarx(商用)
- GitHub Advanced Security/CodeQL(オープンソース/商用)
DAST(動的解析):動いているアプリを検査する
DAST(Dynamic Application Security Testing)は、アプリケーションを実際に動作させ、外部から攻撃者の視点で脆弱性をテストする技術です。SASTでは見つけにくい「アクセス制御の不備(A01:2021)」が実際に機能しているか、ロジックレベルでの「安全でない設計(A04:2021)」がないかを確認できます。
ツール例
- OWASP ZAP:オープンソース
- Burp Suite:商用/無料版あり
CI/CDパイプラインへの統合:セキュリティチェックの自動化
これらのツールを導入したら、CI/CDパイプラインに組み込み、セキュリティチェックを自動化しましょう。
- GitHubをお使いの方はDependabotを有効にし、依存関係の脆弱性(A06:2021)を継続的に監視します。
- Socket.devのようなサプライチェーンセキュリティツールを導入し、悪意のあるライブラリ(A08:2021)の混入を防ぐこともできます。
- コードがプッシュされるたびに、SAST/DASTを自動実行させることも可能です。
参考動画
SAST(静的解析)、DAST(動的解析)のセキュリティテストを行う方法を紹介する動画を以前作成し、YouTubeにアップロードしております。具体的にどのようなことを行うのかイメージしやすくなるため、あわせてチェックしてみてください。
※動画ではSASTはSonarQube、DASTはOWASP ZAPの紹介をしております。
