/ ディレクトリ / プレイグラウンド / claude-code-owasp
● コミュニティ agamm ⚡ 即起動

claude-code-owasp

作者 agamm · agamm/claude-code-owasp

OWASPのベストプラクティスをClaude Codeに組み込み — Top 10:2025、ASVS 5.0、エージェントAIセキュリティ、さらに20以上の言語固有の注意点に対応します。

Claude Code OWASPスキルは、Claudeにセキュリティレビュアーの視点を持たせます。OWASP Top 10:2025ガイダンス、ASVS 5.0検証基準、新しいエージェントAIセキュリティガイダンス、そして20以上の言語固有セクション(JS/TS、Python、Rust、Go、Java、Rubyなど)を読み込みます。コミット前レビュー、PRレビュー、脅威モデリングセッションに最適です。

なぜ使うのか

主な機能

ライブデモ

実際の動作

claude-code-owasp-skill.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "claude-code-owasp-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/agamm/claude-code-owasp",
        "~/.claude/skills/claude-code-owasp"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "claude-code-owasp-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/agamm/claude-code-owasp",
        "~/.claude/skills/claude-code-owasp"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "claude-code-owasp-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/agamm/claude-code-owasp",
        "~/.claude/skills/claude-code-owasp"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "claude-code-owasp-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/agamm/claude-code-owasp",
        "~/.claude/skills/claude-code-owasp"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "claude-code-owasp-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/agamm/claude-code-owasp",
        "~/.claude/skills/claude-code-owasp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "claude-code-owasp-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/agamm/claude-code-owasp",
          "~/.claude/skills/claude-code-owasp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add claude-code-owasp-skill -- git clone https://github.com/agamm/claude-code-owasp ~/.claude/skills/claude-code-owasp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: claude-code-owasp

OWASP Top 10を踏まえたPRセキュリティレビューの方法

👤 人的レビューを依頼する前にセルフレビューを行う開発者 ⏱ ~20 min intermediate

使うタイミング: 認証、データ処理、または入力処理に関わるPRで「レビュー依頼」をクリックする前に使用します。

前提条件
  • スキルのインストール — git clone https://github.com/agamm/claude-code-owasp ~/.claude/skills/claude-code-owasp
フロー
  1. 差分を指定する
    Review the current PR against OWASP Top 10:2025. Focus on auth and input handling.✓ コピーしました
    → Top 10カテゴリに対応付けされた指摘事項(行番号参照付き)
  2. 優先度を付ける
    Group findings into 'must-fix before merge' vs 'follow-up issue'. Cite the specific ASVS requirement.✓ コピーしました
    → ASVS IDを伴う優先度付きリスト
  3. 修正案を生成する
    For each must-fix, propose the minimal diff.✓ コピーしました
    → 指摘事項に対応するパッチ差分

結果: 既知のセキュリティ問題が解決され、要件へのトレーサビリティが確保された状態でPRをリリースできます。

注意点
  • 無害なパターンに対する過剰な警告 — Claudeに具体的な攻撃経路を示すよう求め、示せない場合は深刻度を下げてください

新機能に対する簡易脅威モデリングの実施

👤 ユーザーデータを扱う機能を設計するエンジニア ⏱ ~40 min advanced

使うタイミング: 設計段階、コードを書く前の、影響範囲がまだ調整可能な時点で使用します。

フロー
  1. 機能を説明する
    Feature: share-by-link for customer reports. Users generate tokenized URLs valid 7 days. Threat-model with OWASP agentic AI guidance included.✓ コピーしました
    → STRIDEスタイルの脅威リスト
  2. 対策を選定する
    For each threat, what's the cheapest control that mitigates 80%?✓ コピーしました
    → 脅威ごとの対策と、コストの高い対策の却下理由

結果: 設計ドキュメントに添付できる脅威モデルドキュメントが完成します。

注意点
  • 過剰に作り込まれた対策リスト — 発生可能性×影響度で上位5件の脅威に明示的に絞り込んでください

AIエージェント連携のプロンプトインジェクション対策強化

👤 Claude/LLMを活用した機能をリリースするエンジニア ⏱ ~30 min advanced

使うタイミング: LLMにユーザーデータへのアクセスやツール呼び出しを許可する場合に使用します。

フロー
  1. エージェントの攻撃対象領域を説明する
    Our agent reads support emails and can call 3 tools: refund(), tag_account(), escalate(). Review for agentic AI risks.✓ コピーしました
    → プロンプトインジェクション経路、ツール悪用リスク、データ流出経路
  2. ガードレールを設計する
    Propose a minimal guardrail set: which tools need human confirm, which inputs need sanitization, what logging is required.✓ コピーしました
    → 具体的なガードレール仕様

結果: ガードレールが文書化された堅牢なエージェント設計が完成します。

注意点
  • プロンプトベースの防御のみに依存する — 決定論的な制御と組み合わせてください — 破壊的ツールにはヒューマンインザループ、URLにはホワイトリストを適用

言語固有のセキュリティ注意点の監査

👤 深く精通していない言語のコードベースをレビューする担当者 ⏱ ~15 min intermediate

使うタイミング: TypeScriptが得意な方がPythonコードをレビューする場合、またはその逆の場合に使用します。

フロー
  1. 対象言語を指定する
    Review this Python module for Python-specific OWASP quirks (pickle, yaml.load, shell=True, etc.).✓ コピーしました
    → 汎用的なTop 10を超える言語固有の指摘事項

結果: 言語に依存しないレビューでは見逃される問題を検出できます。

組み合わせ

他のMCPと組み合わせて10倍の力を

claude-code-owasp-skill + claude-code-skill-factory-skill

Skill FactoryがOWASPチェックをPreToolUseフックとして組み込み、自動ゲーティングを実現します

Use skill-factory /build hook to run OWASP review on every Write tool call in our repo.✓ コピーしました
claude-code-owasp-skill + seo-audit-skill

セキュリティヘッダーに関する重複チェック

Run seo-audit security category, then deeper OWASP review on the hits.✓ コピーしました
claude-code-owasp-skill + robotics-agent-skill

ROSネットワーク(rosbridge、Zenoh)のセキュリティ確保

Robotics skill produced a rosbridge websocket — run OWASP review on it.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
Top 10:2025 review diff or files PRのセルフレビュー時 Claude tokens
ASVS requirement check feature spec コンプライアンス対応時 Claude tokens
Agentic AI threat model agent design LLM機能のリリース時 Claude tokens
Language-specific audit language, files 異なる言語間のレビュー時 Claude tokens
Threat model (STRIDE) feature description 設計フェーズ Claude tokens

コストと制限

運用コスト

APIクォータ
なし
呼び出しあたりのトークン
コードサイズに応じてレビューごとに5〜20kトークン
金額
無料
ヒント
レビュー範囲をリポジトリ全体ではなく、変更されたファイルに絞ってください。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: 認証情報は不要です
データ送信先: コードは推論のためにClaudeに送信されます

トラブルシューティング

よくあるエラーと対処法

ClaudeがOWASPコンテキストを無視し、汎用的なアドバイスを返す

ガイダンスを明示的に指定してください:「OWASP Top 10:2025のカテゴリA03:2025 Injectionをここに適用してください」

誤検知(false positives)が多すぎる

指摘を受け入れる前に、攻撃の具体的な手順を示すよう求めてください

代替案

claude-code-owasp 他との比較

代替案代わりに使う場面トレードオフ
Semgrep / SnykCIで決定論的な静的解析を実行したい場合強みが異なるため、両方を組み合わせるのが効果的です

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る