SASTとDAST

🔥 Vibe プロンプト

「Semgrep SASTとOWASP ZAP DASTをCI/CDパイプラインに統合。」

Semgrep SAST

on: pull_request
jobs:
  semgrep:
    steps:
      - uses: semgrep/semgrep-action@v1
        with:
          config: p/default p/owasp-top-ten
          severity: WARNING

カスタムルール

rules:
  - id: no-eval
    pattern: eval(...)
    message: "eval()はRCEの原因に"
    languages: [python]
    severity: ERROR

  - id: sql-injection
    patterns:
      - pattern: cursor.execute("..." + $QUERY + "...")
    message: "SQLインジェクション脆弱性"
    severity: ERROR

  - id: hardcoded-secret
    pattern: 'PASSWORD = "..."'
    severity: ERROR

ZAP DAST

- uses: zaproxy/action-baseline@v0
  with:
    target: https://staging.myapp.com
    cmd_options: '-a'

SAST vs DAST

| 項目 | SAST | DAST | |------|------|------| | タイミング | 開発中 | 実行中アプリ | | 対象 | ソースコード | ランタイム動作 | | ソースコード | 必要 | 不要 | | 誤検出 | 多い | 少ない | | 速度 | 高速(分) | 低速(時間) |

GitLeaks(シークレット検出)

- uses: gitleaks/gitleaks-action@v2
# AWSキー、GitHubトークン、秘密鍵、APIキーを検出

ベストプラクティス

  • すべてのPRでSAST実行(迅速なフィードバック)
  • 本番前のステージングでDAST実行
  • SAST ERROR発見でPRをブロック
  • プロジェクト固有のカスタムルール作成
  • すべてのプッシュでシークレットスキャン
  • SAST + DASTの組み合わせ

重要なポイント

  • コアコンセプトをしっかり理解する
  • ハンズオンコード例で実践する
  • 実世界の問題に応用する
  • 演習で知識を強化する

さらに学ぶ

  • 公式ドキュメント
  • GitHubのオープンソースプロジェクト
  • コミュニティフォーラムとディスカッション
  • 関連コースとチュートリアル

完全なチュートリアルをロック解除

このチャプターは有料コンテンツです。プロジェクトに参加して、10以上の神レベルのPromptや実際のソースコード例を含む、5000字以上の深い分析をロック解除してください!