スキル SAST Security Plugin
🔒

SAST Security Plugin

安全

コードをスキャンしてセキュリティ脆弱性を検出

このスキルは、デプロイ前にコード内の脆弱性を特定するための包括的な静的アプリケーションセキュリティテスト(SAST)ガイダンスを提供します。様々な言語やフレームワークに対応した複数の SAST ツールの設定と実行方法を案内します。

対応: Claude Codex Code(CC)
📊 69 十分
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

テストする

「SAST Security Plugin」を使用しています。 Python Flask アプリの SQL インジェクション脆弱性をスキャンする方法を教えてください

期待される結果:

Bandit と Semgrep を使用して Flask アプリの SQL インジェクション脆弱性をスキャンするには:

1. ツールをインストール: `pip install bandit semgrep`

2. Bandit を実行: `bandit -r . -f json -o bandit-report.json`

3. SQL インジェクションルールで Semgrep を実行:
```bash
semgrep --config=p/security-audit --json --output=semgrep-sqli.json
```

4. SQL インジェクションの検出結果について JSON レポートを確認する。以下の項目を探す:
- SQL クエリでの文字列フォーマット(B608、B611)
- クエリ内のサニタイズされていないユーザー入力
- パラメータ化クエリの欠如

5. パラメータ化クエリを使用して特定された問題を修正:
```python
# 脆弱
cursor.execute("SELECT * FROM users WHERE id = " + user_id)

# 安全
cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
```

「SAST Security Plugin」を使用しています。 TypeScript React アプリケーションのために ESLint セキュリティを設定してください

期待される結果:

TypeScript React 向けに ESLint セキュリティを設定するには:

1. 依存関係をインストール:
```bash
npm install --save-dev eslint @typescript-eslint/parser @eslint/plugin-security eslint-plugin-react
```

2. .eslintrc-security.json を作成:
```json
{
"parser": "@typescript-eslint/parser",
"plugins": ["@eslint/plugin-security", "react"],
"extends": ["plugin:security/recommended"],
"rules": {
"security/detect-object-injection": "error",
"security/detect-non-literal-fs-filename": "error",
"security/detect-eval-with-expression": "error",
"no-danger": "error"
}
}
```

3. スキャンを実行:
```bash
eslint --ext .ts,.tsx --format json > eslint-security-report.json
```

セキュリティ監査

安全
v1 • 2/25/2026

This is a prompt-only documentation skill providing SAST (Static Application Security Testing) guidance. The static analyzer scanned 0 executable files (0 lines of code) because the skill consists entirely of markdown documentation (SKILL.md). No suspicious patterns or risk factors were detected. The skill provides legitimate security guidance for configuring and running established SAST tools like Bandit, Semgrep, and ESLint Security.

0
スキャンされたファイル
0
解析された行数
0
検出結果
1
総監査数
セキュリティ問題は見つかりませんでした
監査者: claude

品質スコア

38
アーキテクチャ
100
保守性
87
コンテンツ
32
コミュニティ
100
セキュリティ
74
仕様準拠

作れるもの

デプロイ前セキュリティレビュー

本番環境にデプロイする前に包括的な SAST スキャンを実行し、早期に脆弱性を発見する。

レガシーコードセキュリティ評価

継承したコードベースや古いコードベースのセキュリティ問題と技術的負債を監査する。

CI/CD セキュリティゲート

脆弱なコードをブロックするために、プルリクエストワークフローに自動セキュリティスキャンを統合する。

これらのプロンプトを試す

基本的な Python セキュリティスキャン
Python プロジェクトのセキュリティ脆弱性をスキャンするために Bandit を設定して実行する方法を教えてください。現在のディレクトリに Django アプリケーションがあります。
多言語セキュリティ監査
Python、JavaScript、Go のコードを含むプロジェクトで包括的なセキュリティスキャンを実行する必要があります。これらすべての言語をスキャンし、結果を集約するために Semgrep を設定する方法を示してください。
カスタムセキュリティルール
当社固有のセキュリティポリシーがあります。内部 API キーがソースファイルにハードコーディングされているのを検出するための Semgrep カスタムルールを作成してください。
CI/CD 統合セットアップ
すべてのプルリクエストで SAST スキャンを実行する GitHub Actions ワークフローを設定してください。Python には Bandit、JavaScript には ESLint Security を含め、HIGH または CRITICAL の脆弱性が見つかった場合はビルドを失敗させてください。

ベストプラクティス

  • pre-commit フックを使用して開発の早い段階で SAST スキャンを実行し、コードレビューに到達する前に問題を発見する
  • 複数の SAST ツールを組み合わせる。それぞれが異なる種類の脆弱性を検出するため - Python には Bandit、多言語には Semgrep、JS/TS には ESLint
  • テストファイル、生成されたコード、既知の安全なパターンに対する除外設定をして、誤検知を調整する

回避

  • 結果のレビューやトリアージなしにスキャンを実行する - 誤検知率が高いためアラート疲労を引き起こす可能性がある
  • 深刻度で優先順位付けする(CRITICAL/HIGH のみ)代わりに、あらゆる検出でデプロイをブロックする
  • データ処理ポリシーを確認せずに、機密コードを外部スキャンサービスにアップロードする

よくある質問

SAST とは何か、DAST とどう違うのか?
SAST(静的アプリケーションセキュリティテスト)は、ソースコードを実行せずに分析し、ハードコードされた秘密情報やインジェクション脆弱性などの脆弱性を発見します。DAST(動的アプリケーションセキュリティテスト)は、実行中のアプリケーションをテストしてランタイムの問題を発見します。SAST は開発の早期段階で問題を発見し、DAST はデプロイされたシステムの問題を発見します。
このスキルはどの SAST ツールをサポートしているか?
このスキルは複数のツールをサポートしています:Bandit(Python)、Semgrep(多言語)、ESLint Security(JavaScript/TypeScript)、SpotBugs(Java)、Brakeman(Ruby)、gosec(Go)、cargo-clippy(Rust)。各ツールには異なる言語に対する固有の強みがあります。
このスキルはすべてのセキュリティ脆弱性を検出できるか?
いいえ。SAST ツールには制限があります - ランタイムの脆弱性、認証の問題、ビジネスロジックの欠陥を検出することはできません。インジェクション攻撃やハードコードされた秘密情報などの既知のパターンの検出に最も効果的です。包括的なカバレッジのために、SAST を DAST や手動コードレビューと組み合わせます。
SAST ツールの誤検知にはどう対処すればよいか?
テストファイル、生成されたコード、誤検知に対する除外ルールを設定する。深刻度フィルタリングを使用して CRITICAL と HIGH の問題に集中する。設定内でベースライン例外を文書化する。ノイズを減らすためにツールのルールを定期的に更新する。
独自のコードで外部 SAST ツールを実行しても安全か?
ほとんどの SAST ツールはローカルで実行されます。ただし、分析のためにコードをアップロードするクラウドベースのサービスもあります。ツールのプライバシーポリシーを確認してください。機密コードの場合は、データ送信なしで完全にローカルで実行される Semgrep や Bandit などのセルフホステッドツールを使用してください。
CI/CD パイプラインに SAST を統合するにはどうすればよいか?
コードのチェックアウトと依存関係のインストール後にスキャンステップを追加します。Bandit や Semgrep などのツールを実行し、結果を JSON に出力します。CRITICAL/HIGH の検出でビルドを失敗させるパイプラインルールを使用します。レビューのためにレポートをアーティファクトとしてアップロードします。GitHub Actions と GitLab CI の例はこのスキルに含まれています。

開発者の詳細

ファイル構成

📄 SKILL.md