/ Annuaire / Playground / claude-code-owasp
● Communauté agamm ⚡ Instantané

claude-code-owasp

par agamm · agamm/claude-code-owasp

OWASP best practices baked into Claude Code — Top 10:2025, ASVS 5.0, Agentic AI security, plus 20+ language-specific quirks.

Claude Code OWASP Skill teaches Claude to think like a security reviewer. It loads OWASP Top 10:2025 guidance, ASVS 5.0 verification standards, the new Agentic AI security guidance, and 20+ language-specific sections (JS/TS, Python, Rust, Go, Java, Ruby, etc.). Good for pre-commit review, PR review, and threat-modeling sessions.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

claude-code-owasp-skill.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/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
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.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 utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

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
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "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
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.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 utilise un tableau d'objets serveur plutôt qu'une map.

~/.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"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

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

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : claude-code-owasp

How to security-review a PR with OWASP Top 10 in mind

👤 Developers doing self-review before requesting human review ⏱ ~20 min intermediate

Quand l'utiliser : Before you click 'Ready for review' on a PR that touches auth, data, or input handling.

Prérequis
  • Skill installed — git clone https://github.com/agamm/claude-code-owasp ~/.claude/skills/claude-code-owasp
Déroulement
  1. Point at the diff
    Review the current PR against OWASP Top 10:2025. Focus on auth and input handling.✓ Copié
    → Findings mapped to Top 10 categories with line references
  2. Prioritize
    Group findings into 'must-fix before merge' vs 'follow-up issue'. Cite the specific ASVS requirement.✓ Copié
    → Ranked list with ASVS IDs
  3. Generate fixes
    For each must-fix, propose the minimal diff.✓ Copié
    → Patch diffs keyed to findings

Résultat : A PR that ships with known security issues resolved, with traceable requirements.

Pièges
  • Over-alerting on benign patterns — Ask Claude to show the exploit path concretely; if it can't, downgrade the severity

Run a lightweight threat model on a new feature

👤 Engineers designing a feature involving user data ⏱ ~40 min advanced

Quand l'utiliser : Design stage, before writing the code, when the blast radius is still negotiable.

Déroulement
  1. Describe the feature
    Feature: share-by-link for customer reports. Users generate tokenized URLs valid 7 days. Threat-model with OWASP agentic AI guidance included.✓ Copié
    → STRIDE-style list of threats
  2. Pick controls
    For each threat, what's the cheapest control that mitigates 80%?✓ Copié
    → Per-threat control + rejection rationale for expensive ones

Résultat : A threat model document you can attach to the design doc.

Pièges
  • Over-engineered control list — Explicitly limit to top-5 threats by likelihood × impact

Harden an AI agent integration against prompt injection

👤 Engineers shipping Claude/LLM-powered features ⏱ ~30 min advanced

Quand l'utiliser : You're about to let an LLM touch user data or call tools.

Déroulement
  1. Describe the agent surface
    Our agent reads support emails and can call 3 tools: refund(), tag_account(), escalate(). Review for agentic AI risks.✓ Copié
    → Prompt-injection vectors, tool-misuse risks, data exfil paths
  2. Design guardrails
    Propose a minimal guardrail set: which tools need human confirm, which inputs need sanitization, what logging is required.✓ Copié
    → Concrete guardrail spec

Résultat : A hardened agent design with documented guardrails.

Pièges
  • Relying on prompt-based defenses alone — Combine with deterministic controls — human-in-loop for destructive tools, allowlists for URLs

Audit for language-specific security quirks

👤 Reviewers checking a codebase in a language they don't know deeply ⏱ ~15 min intermediate

Quand l'utiliser : You're reviewing Python code as a TS native, or vice versa.

Déroulement
  1. Scope to language
    Review this Python module for Python-specific OWASP quirks (pickle, yaml.load, shell=True, etc.).✓ Copié
    → Language-specific findings beyond generic Top 10

Résultat : Catches that a language-agnostic review would miss.

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

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

Skill Factory wires OWASP checks as PreToolUse hooks for automatic gating

Use skill-factory /build hook to run OWASP review on every Write tool call in our repo.✓ Copié
claude-code-owasp-skill + seo-audit-skill

Overlap on security headers

Run seo-audit security category, then deeper OWASP review on the hits.✓ Copié
claude-code-owasp-skill + robotics-agent-skill

Secure ROS networking (rosbridge, Zenoh)

Robotics skill produced a rosbridge websocket — run OWASP review on it.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
Top 10:2025 review diff or files PR self-review Claude tokens
ASVS requirement check feature spec Compliance work Claude tokens
Agentic AI threat model agent design Shipping LLM features Claude tokens
Language-specific audit language, files Cross-language review Claude tokens
Threat model (STRIDE) feature description Design phase Claude tokens

Coût et limites

Coût d'exécution

Quota d'API
None
Tokens par appel
5-20k per review depending on code size
Monétaire
Free
Astuce
Scope reviews to changed files, not the whole repo.

Sécurité

Permissions, secrets, portée

Stockage des identifiants : No credentials
Sortie de données : Code is sent to Claude for inference

Dépannage

Erreurs courantes et correctifs

Claude ignores OWASP context and gives generic advice

Explicitly name the guidance: 'Apply OWASP Top 10:2025 category A03:2025 Injection here.'

Too many false positives

Require an exploit walkthrough before accepting a finding

Alternatives

claude-code-owasp vs autres

AlternativeQuand l'utiliserCompromis
Semgrep / SnykYou want deterministic static analysis in CIDifferent strengths; combine both

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills