Skip to main content
Skills are markdown instruction files an AI coding agent reads and follows. Opfor ships them for both agent and MCP server red-teaming. Install once, then trigger from chat inside your project — the agent scans your repo, fills in what it can, and asks only what’s missing.

Install

Run from the root of the project you want to test — the agent reads the repo for context:
The wizard asks which agent to install into (Claude Code, Cursor, Windsurf, Gemini CLI, GitHub Copilot, …) and which skills to add. Pick all of them. They land in your agent’s skills directory (e.g. .claude/skills/ for Claude Code; the path varies per agent).

What you get

Two bundles, each with a setup and an execute skill: Flow: setup → run. Run setup once per target; re-run run whenever you want a fresh report.

Prerequisites

  • An LLM API key in your shell or .envOPENAI_API_KEY, GROQ_API_KEY, ANTHROPIC_API_KEY, or GOOGLE_GENERATIVE_AI_API_KEY. The agent reads .env from the project root.
  • A reachable target — an HTTP endpoint, a local script, or an MCP server. The agent asks for it on first setup if it can’t find one in the repo.

Usage from chat

Inside your IDE chat, just describe what you want:
For MCP server targets:

Trace-aware grounding

opfor-setup auto-detects Langfuse / Netra / OpenTelemetry by scanning opfor.config*, .env*, package.json, Docker / Helm files, and app code for SDK imports and exporters. If traces are wired up, the agent grounds attacks in real production flows and configures trace-ID propagation so the judge sees the full target trace per attack — no manual telemetry block needed unless something’s ambiguous.

Trace-aware testing

How grounding and judge enrichment work.

Update or remove