mcpField
S
sast-configuration

sast-configuration

github.com/wshobsonセキュリティ41.9k10.9k 回インストール2 週間前に更新
リポジトリ

sast-configuration について

開発・セキュリティチーム向けの SAST 設定スキルです。Semgrep、SonarQube、CodeQL の導入やカスタムルール作成、スキャン調整を支援します。

主な機能

  1. 01Semgrep、SonarQube、CodeQL の設定
  2. 02カスタムセキュリティルールの作成
  3. 03CI/CD とコミット前チェックの統合
  4. 04品質ゲートとコンプライアンスポリシーの管理
  5. 05誤検知とスキャン性能の調整

活用シーン

  1. 01新規プロジェクトでの SAST 導入
  2. 02CI/CD パイプラインへのスキャン追加
  3. 03組織固有のセキュリティルール開発
  4. 04PCI-DSS に沿ったスキャン

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wshobson/agents --skill sast-configuration

インストール後、Claude Code で/sast-configurationを入力して読み込まれたか確認します。

詳細

SAST 設定

静的アプリケーションセキュリティテスト(SAST)ツールのセットアップ、設定、および複数のプログラミング言語にわたる包括的なセキュリティスキャンのためのカスタムルール作成。

概要

このスキルは、Semgrep、SonarQube、CodeQL などの SAST ツールをセットアップおよび設定するための包括的なガイダンスを提供します。次のような場合にこのスキルを使用してください:

  • CI/CD パイプラインで SAST スキャンをセットアップする
  • コードベース用のカスタムセキュリティルールを作成する
  • 品質ゲートとコンプライアンスポリシーを設定する
  • スキャンパフォーマンスを最適化し、誤検出を削減する
  • 多層防御のために複数の SAST ツールを統合する

主要な機能

1. Semgrep の設定
  • パターンマッチングによるカスタムルールの作成
  • 言語固有のセキュリティルール(Python、JavaScript、Go、Java など)
  • CI/CD 統合(GitHub Actions、GitLab CI、Jenkins)
  • 誤検出の調整とルールの最適化
  • 組織ポリシーの適用
2. SonarQube のセットアップ
  • 品質ゲートの設定
  • セキュリティホットスポット分析
  • コードカバレッジと技術的負債の追跡
  • 言語ごとのカスタム品質プロファイル
  • LDAP/SAML とのエンタープライズ統合
3. CodeQL 分析
  • GitHub Advanced Security 統合
  • カスタムクエリの開発
  • 脆弱性バリアント分析
  • セキュリティリサーチワークフロー
  • SARIF 結果の処理

クイックスタート

初期評価
  1. コードベースの主要なプログラミング言語を特定する
  2. コンプライアンス要件(PCI-DSS、SOC 2 など)を判断する
  3. 言語サポートと統合ニーズに基づいて SAST ツールを選択する
  4. ベースラインスキャンをレビューして現在のセキュリティ態勢を把握する
基本的なセットアップ
# Semgrep quick start
pip install semgrep
semgrep --config=auto --error

# SonarQube with Docker
docker run -d --name sonarqube -p 9000:9000 sonarqube:10.8-community

# CodeQL CLI setup
gh extension install github/gh-codeql
codeql database create mydb --language=python

統合パターン

CI/CD パイプライン統合
# GitHub Actions example
- name: Run Semgrep
  uses: returntocorp/semgrep-action@v1
  with:
    config: >-
      p/security-audit
      p/owasp-top-ten
プリコミットフック
# .pre-commit-config.yaml
- repo: https://github.com/returntocorp/semgrep
  rev: v1.45.0
  hooks:
    - id: semgrep
      args: ['--config=auto', '--error']

ベストプラクティス

  1. ベースラインから始める

    • 初回スキャンを実行してセキュリティベースラインを確立する
    • 重大および高深刻度の検出結果を優先する
    • 修復ロードマップを作成する
  2. 段階的な導入

    • セキュリティに焦点を当てたルールから始める
    • コード品質ルールを徐々に追加する
    • 重大な問題に対してのみブロックを実装する
  3. 誤検出の管理

    • 正当な抑制を文書化する
    • 既知の安全なパターンに対する許可リストを作成する
    • 抑制された検出結果を定期的にレビューする
  4. パフォーマンスの最適化

    • テストファイルと生成されたコードを除外する
    • 大規模なコードベースには増分スキャンを使用する
    • CI/CD でスキャン結果をキャッシュする
  5. チームの支援

    • 開発者向けのセキュリティトレーニングを提供する
    • 一般的なパターンに関する内部ドキュメントを作成する
    • セキュリティチャンピオンプログラムを確立する

一般的なユースケース

新規プロジェクトのセットアップ
./scripts/run-sast.sh --setup --language python --tools semgrep,sonarqube
カスタムルールの開発
# See references/semgrep-rules.md for detailed examples
rules:
  - id: hardcoded-jwt-secret
    pattern: jwt.encode($DATA, "...", ...)
    message: JWT secret should not be hardcoded
    severity: ERROR
コンプライアンススキャン
# PCI-DSS focused scan
semgrep --config p/pci-dss --json -o pci-scan-results.json

トラブルシューティング

誤検出率が高い
  • ルールの感度をレビューして調整する
  • テストファイルを除外するパスフィルターを追加する
  • ノイズの多いパターンには nostmt メタデータを使用する
  • 組織固有のルール例外を作成する
パフォーマンスの問題
  • 増分スキャンを有効にする
  • モジュール間でスキャンを並列化する
  • 効率のためにルールパターンを最適化する
  • 依存関係とスキャン結果をキャッシュする
統合の失敗
  • API トークンと認証情報を確認する
  • ネットワーク接続とプロキシ設定を確認する
  • SARIF 出力形式の互換性をレビューする
  • CI/CD ランナーの権限を検証する

関連スキル

ツールの比較

ツール最適な用途言語サポートコスト統合
Semgrepカスタムルール、高速スキャン30 以上の言語無料/エンタープライズ優れている
SonarQubeコード品質 + セキュリティ25 以上の言語無料/商用良好
CodeQL深い分析、リサーチ10 以上の言語無料(OSS)GitHub ネイティブ

次のステップ

  1. 初期 SAST ツールのセットアップを完了する
  2. ベースラインのセキュリティスキャンを実行する
  3. 組織固有のパターン向けにカスタムルールを作成する
  4. CI/CD パイプラインに統合する
  5. セキュリティゲートポリシーを策定する
  6. 検出結果と修復方法について開発チームをトレーニングする

コメント