Skip to content
Security
Command

/mutate

[experimental] Security mutation testing -- weaken security controls and check if the scanner detects the resulting vulnerability

From plugin
vuln-scout
2615 skills9 agents15 commands
> /plugin marketplace add allsmog/vuln-scout
> /plugin install vuln-scout@vuln-scout

Command definition

mutate.md
name: mutate
description: "[experimental] Security mutation testing -- weaken security controls and check if the scanner detects the resulting vulnerability"
argument-hint: "[path] [--dry-run] [--format md|json]"
allowed-tools:
  - Bash
  - Glob
  - Read
  - Write

Security Mutation Testing

Identifies security controls (sanitizers, auth middleware, parameterized queries) in your code, temporarily removes them, and checks if the scanning pipeline detects the resulting vulnerability. Undetected mutations represent **detection gaps** in your security tooling.

Usage

/vuln-scout:mutate
/vuln-scout:mutate src/ --dry-run

Flags

| Flag | Effect | |------|--------| | `path` | Directory to scan for mutations (default: current directory) | | `--dry-run` | List possible mutations without applying them | | `--format` | Output format: `md` or `json` |

Mutation Types

| Type | What It Removes | |------|----------------| | `remove-parameterization` | SQL parameter binding → string concatenation | | `remove-auth-middleware` | Authentication middleware from route handlers | | `remove-csrf-check` | CSRF token validation | | `enable-shell` | Changes `shell=False` to `shell=True` in subprocess calls | | `remove-sanitizer` | Input sanitization/validation function calls | | `remove-rate-limit` | Rate limiting middleware |

Workflow

Step 1: Discover mutations

python3 "${CLAUDE_PLUGIN_ROOT}/scripts/run_mutations.py" \
  <path> \
  --dry-run

Lists all security-weakening mutations found in the codebase.

Step 2: Test mutations (unless `--dry-run`)

For each mutation: 1. Apply the mutation (replace the security control with the weakened version) 2. Re-scan the mutated file with Semgrep 3. Check if the mutation was detected as a vulnerability 4. Revert the mutation

Step 3: Report

  • **Detected mutations**: scanner caught the weakened code (good)
  • **Undetected mutations**: scanner missed the vulnerability (detection gap)
  • **Kill rate**: detected / total (higher is better)

Undetected mutations indicate places where removing a security control would go unnoticed by your scanning pipeline.

Read more
@allsmog
Ships withvuln-scout

AI-powered whitebox penetration testing plugin for Claude Code. 9 languages, 22 skills, 7 autonomous agents. STRIDE threat modeling, OWASP 2025 coverage, polyglot monorepo support.

2635 skills9 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
26
Star history of allsmog/vuln-scout on GitHub, a chart by star-history.com

Other commands on vuln-scout.

auto-fix

auto-fix

Command

[experimental] Auto-remediate verified findings by generating patches and optionally creating a PR

@allsmog@allsmogInstall Command
create-rule

create-rule

Command

[experimental] Create a custom Semgrep detection rule from a confirmed vulnerability pattern

@allsmog@allsmogInstall Command
diff

diff

Command

[stable] Compare security posture between two git refs to find new/fixed vulnerabilities and track regression

@allsmog@allsmogInstall Command
full-audit

full-audit

Command

[stable] End-to-end security audit with hotspot-aware framework pivots, shared findings.json schema, and CI-friendly workflow…

@allsmog@allsmogInstall Command
mobile-audit

mobile-audit

Command

[beta] Audit a decompiled Android target — scans jadx_out/sources + apktool_out together and merges findings

@allsmog@allsmogInstall Command

More commands from other plugins.

deslop-reborn

deslop-reborn

Command

One iteration of the IronClaw Reborn de-slop loop — take ONE Reborn crate, fan out parallel review sub-agents (thermo-nuclear…

@nearai@nearaiInstall Command
audit

audit

Command

Audit a file, directory, or whole repo for insecure default configuration: fallback secrets, default credentials, fail-open…

@trailofbits@trailofbitsInstall Command
arsenal

arsenal

Command

Show which external bug-bounty tools are installed on this machine and print install hints for the missing ones. Curated from…

@awarexone@awarexoneInstall Command