気分よくコードを書くVibe Codingでも、セキュリティのうっかりミスには注意が必要です。Qiitaの記事をもとに、開発中のコードや依存ライブラリ、稼働中のアプリを検査する3つの方法を紹介します。

SAST:ソースコードを検査する

SAST(Static Application Security Testing)は、プログラムを実行せず、ソースコードを解析して危険な書き方を見つけます。SQLインジェクション、XSS、ハードコードされたパスワードやAPIキーなどを検出できます。SonarQube IDEをIDEに組み込めば、開発中に問題を指摘できます。

SCA:依存ライブラリを検査する

SCA(Software Composition Analysis)は、プロジェクトが利用するオープンソースのライブラリやフレームワークを洗い出し、既知の脆弱性やライセンス上の問題を確認します。新しいパッケージを追加したとき、使っているバージョンに既知の問題がないか把握できます。

DAST:稼働中のアプリを検査する

DAST(Dynamic Application Security Testing)は、実際に動いているアプリケーションに外部からテストを行います。サーバー設定の不備や認証機能の弱点など、実行環境で確認しないと分からない問題を検出できます。SASTが設計図を確認する検査だとすれば、DASTは完成したアプリを外部から試す検査です。

3つの検査を組み合わせる

手法主な対象実施する時期
SASTソースコード開発初期から開発中
SCAOSSライブラリなどの依存関係開発中から運用中まで継続
DAST稼働中のアプリケーション開発後半やテスト環境

どれか一つだけでは十分ではありません。コード、依存関係、実行中のアプリをそれぞれ検査することで、異なる種類のリスクを補完できます。

まとめ

Vibe Codingで作ったアプリを安全に保つには、SAST・SCA・DASTを適切な段階で組み合わせます。コードを書いている間の検査に加え、依存関係と稼働中アプリも継続して確認しましょう。