← 开源
KeyValueSoftwareSystems

agent-opfor

Open-source adversary emulation for AI agents and MCP servers.

AI EngineeringTest & guardGive agent toolsTypeScript
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
583
Star
35
Fork
+1
本周
16
贡献者
创建于 2026-04-06 · 更新于 2026-10-13 · 今日第 16579 名
主要开发者

KeyValueSoftwareSystems/agent-opfor 排名第 16,579,有 583 个星标。

同类别比较

KeyValueSoftwareSystems/agent-opfor 排名第 16,579,此处有 8 个同类条目;christopherkarani/Swarm 排名第 16,571。

同类别比较
名称排名指标
HansZ8/RoboJuDo16,561
语言:
Python
星标数:
584
分叉数:
84
简介:
A plug-and-play deploy framework for robots. Just deploy, just do.
IuvenisSapiens/ComfyUI_Qwen3-VL-Instruct16,562
语言:
Python
星标数:
584
分叉数:
66
简介:
The successful integration of Qwen3-VL-Instruct series into the ComfyUI platform has enabled a smooth operation, supporting (but not limited to) text-based queries, video queries, single-image queries, and multi-image queries for generating captions or responses.
ZubeidHendricks/youtube-mcp-server16,566
语言:
TypeScript
星标数:
584
分叉数:
141
简介:
MCP Server for YouTube API, enabling video management, Shorts creation, and advanced analytics
christopherkarani/Swarm16,571
语言:
Swift
星标数:
584
分叉数:
44
简介:
Type-safe tools, on-device inference, multi-agent workflows, memory, and guardrails, in one Swift-native runtime
vivekVells/mcp-pandoc16,592
语言:
Python
星标数:
583
分叉数:
62
简介:
MCP server for document format conversion using pandoc.
joeseesun/qiaomu-design16,602
语言:
JavaScript
星标数:
582
分叉数:
47
简介:
偏执型设计顾问:反 AI 味设计 + 风格试衣间 + 58 站设计系统库的 Claude Code Skill | Opinionated design advisor for Claude Code: anti-generic UI, style fitting room, 58 real-site design systems.
omarcusdev/zap-gpt-free16,607
语言:
TypeScript
星标数:
582
分叉数:
227
简介:
Este projeto explora a integração do ChatGPT com o WhatsApp, transformando o chatbot em um assistente virtual capaz de realizar tarefas como falar com amigos, responder a perguntas de clientes, e muito mais, com um toque de humanização nas conversas.
outsmartchad/onchain-dex-cli16,608
语言:
TypeScript
星标数:
582
分叉数:
192
关键参数与规格
关键参数与规格
参数值
语言TypeScript
类别AI Engineering
子类别Test & guard,Give agent tools
关键词AI safety, MCP, Prompt engineering
星标数583
分叉数35
贡献者16
创建日期2026-04-06
更新日期2026-10-13
1 天星标数0
7 天星标数1
排名16,579
上次排名16,370
排名变化-209
7 天星标排名11,268
上次 7 天星标排名11,323
7 天星标排名变化55
总星标排名17,162
上次总星标排名17,134
总星标排名变化-28
README 摘录

Open-source adversary emulation for AI agents, LLM apps, and MCP servers. We named the tool after that idea: to defend AI agents better, you have to attack them first. Why KeyValue built this We've shipped 130 products for 90 startups over the last ten years. It generates targeted attacks for OWASP LLM Top 10, OWASP Agentic AI Top 10, OWASP MCP Top 10, OWASP API Security, and EU AI Act bias suites, fires them at your target, and judges

each response with an LLM. → CLI reference · Browser extension setup · MCP setup · Skills setup · SDK reference · Session handling How it works When you run a scan, opfor: 1. Autonomous runs use the same layout under . It excludes your target's inference cost, which opfor cannot see from the outside. The per-model split is the useful part: the judge is often the bigger share, and pointing it at a cheaper model is usually the easiest saving. Prices come from a snapshot

of LiteLLM's public price map that ships with the package, so runs work offline and a report re-rendered later produces the same figure. Caveats worth knowing: **Caching is only credited when it's reported. ** A model missing from the price table is reported as unpriced and the total is marked a lower bound, rather than silently reading as $0. **A few helper calls aren't metered yet. ** Trace curation, session summarisation and one JSON helper don't report token usage, so their

spend is missing from the total. → Token usage and testing cost Evaluator coverage Opfor ships with curated suites that map to industry standards. Pick a suite or run individual evaluators. Out of the box, opfor integrates with **Langfuse** and **Netra**. → Trace-aware testing guide Autonomous Red-Teaming skips the config file entirely. Add to watch the attack tree unfold in a live dashboard. Install from the Chrome Web Store, open any chat interface, click the opfor icon, pick a suite

, and watch it run. It auto-detects the chat interface, sends attack prompts as if you were typing them, watches the responses, and downloads an HTML report when done. This is the path for the half of every product team that doesn't open a terminal. Use it in CI, in test suites, or anywhere you need red-teaming without leaving TypeScript. md for details on our code of conduct, and the process for submitting pull requests to us. Authors Built

by the team at KeyValue Software Systems. Security Use opfor only on systems you own or are authorized to test. To report a vulnerability in opfor itself, see SECURITY. License Opfor is licensed under Apache 2.

常见问题

记录了多少星标和分叉?

KeyValueSoftwareSystems/agent-opfor 有 583 个星标和 35 个分叉。

仓库排名是多少?

KeyValueSoftwareSystems/agent-opfor 排名第 16,579。

记录的语言和类别是什么?

KeyValueSoftwareSystems/agent-opfor 有 583 个星标,语言为 TypeScript,类别为 AI Engineering。

哪个仓库排名最接近?

KeyValueSoftwareSystems/agent-opfor 与 christopherkarani/Swarm 比较,后者排名第 16,571,有 584 个星标。

README

Open-source adversary emulation for AI agents, LLM apps, and MCP servers.

Test your AI like a real attacker would — from your CLI, your IDE, or a browser extension that anyone on your team can use.

Website · Docs · GitHub · Browser Extension · Discord

OPFOR is short for Opposition Force — a military term for the unit that plays the enemy in training, so the rest of the army learns what real attacks feel like before they come. We named the tool after that idea: to defend AI agents better, you have to attack them first.

Why KeyValue built this

We've shipped 130 products for 90 startups over the last ten years. In the last 18 months, almost every one of them had an AI agent in it — and every one of those teams hit the same wall when it came to testing.

So we built OPFOR. For ourselves first. Now open source.

Apache 2.0. Built from India.

Quick Start

npm install -g @keyvaluesystems/agent-opfor-cli
export OPENAI_API_KEY=your-key    # or GEMINI_API_KEY, ANTHROPIC_API_KEY, etc.

One-shot — runs the setup wizard and immediately starts the scan:

opfor run

Two-step — save a config you can reuse or commit to CI:

opfor setup                               # wizard saves a config to .opfor/configs/
opfor run --config .opfor/configs/  # run any time against the saved config

https://github.com/user-attachments/assets/a6a3cff2-2cf9-4486-944e-ac0163e7ea04

What opfor does

Opfor red-teams the full AI agent surface — prompts, tools, MCP servers, memory, and multi-turn reasoning. It generates targeted attacks for OWASP LLM Top 10, OWASP Agentic AI Top 10, OWASP MCP Top 10, OWASP API Security, and EU AI Act bias suites, fires them at your target, and judges each response with an LLM.

Most red-team tooling in this space is excellent at one thing — a probe library, a developer evaluator, a programmatic framework. Opfor covers more ground in one tool:

  • Browser extension for non-developers — anyone on your team can red-team a deployed chatbot, no code, no env vars, no YAML
  • Run opfor as an MCP server — let your AI coding agent in Cursor or Claude Desktop red-team your other agents through natural language
  • Full OWASP coverage in one tool — LLM Top 10, Agentic AI Top 10, MCP Top 10, API Security Top 10
  • No black box — every attack prompt, request, response, and judge verdict is logged; reproducible, auditable, forkable
  • Built for agents, not just models — designed for tool calls, MCP, memory, and multi-turn state from day one
  • Trace-aware — integrates with Langfuse and Netra so the LLM judge sees what your agent did internally, not just what it said

Five ways to run opfor

Different people on your team need different entry points. Opfor ships five.

Mode How Best for
🖥️ CLI opfor setup → opfor run Engineers, CI/CD, terminal-first workflows
🌐 Browser extension Install the extension, click the icon on any chat interface Product managers, designers, QA, security analysts — anyone who can't or won't write code
🤖 MCP server Register opfor in Cursor or Claude Desktop, then ask in chat AI coding agents that test your other agents
⚡ Skills /opfor-setup · /opfor-run · /opfor-mcp-setup · /opfor-mcp-run Developers who want one-command testing inside their IDE
📦 SDK npm install @keyvaluesystems/agent-opfor-sdk, then call run / hunt from your code Programmatic red-teaming and custom workflows

All five share the same evaluators, attack templates, and judge logic.

→ CLI reference · Browser extension setup · MCP setup · Skills setup · SDK reference · Session handling

How it works

When you run a scan, opfor:

  1. Fetches target info — connects to your agent, detects available tools, MCP endpoints, capabilities
  2. Plans attacks per category — generates targeted prompts for each evaluator in your selected suite
  3. Emulates the attack — runs multi-turn adversarial conversations (real requests, real responses)
  4. Evaluates with a judge — an LLM judge classifies each response with pass/fail + reasoning
  5. Generates a report — HTML for browsing, JSON for CI/CD, all artifacts logged for reproducibility

Each run lands in its own subfolder under .opfor/reports/run-report---/ containing -report.html and -report.json. Autonomous opfor hunt runs use the same layout under hunt-report---/.

Testing cost

Every run reports what its instrumented LLM calls cost, broken down by model:

Token usage: 51,323 input / 6,057 output (57,380 total)
Testing cost: $0.18
   deepseek/deepseek-v4-pro [attacker]: $0.037
   anthropic/claude-opus-5 [judge]: $0.14

This is opfor's own spend — the attacker and judge LLMs. It excludes your target's inference cost, which opfor cannot see from the outside. The per-model split is the useful part: the judge is often the bigger share, and pointing it at a cheaper model is usually the easiest saving.

Prices come from a snapshot of LiteLLM's public price map that ships with the package, so runs work offline and a report re-rendered later produces the same figure. Cached input is billed at the provider's cache rate — multi-turn attacks re-send the conversation each turn, and that repeated prefix is often ~100× cheaper than fresh text, so the figure tracks the real bill rather than a worst case. Caveats worth knowing:

  • Caching is only credited when it's reported. A provider that doesn't break out cached tokens, or a model with no published cache rate, is charged at the full input rate — an over-estimate, chosen over quietly under-reporting.
  • Unknown models are never counted as free. A model missing from the price table is reported as unpriced and the total is marked a lower bound, rather than silently reading as $0.
  • A few helper calls aren't metered yet. Trace curation, session summarisation and one JSON helper don't report token usage, so their spend is missing from the total. Treat the figure as a floor.

→ Token usage and testing cost

Evaluator coverage

Opfor ships with curated suites that map to industry standards. Pick a suite or run individual evaluators.

Suite ID Standard Focus
owasp-llm-top10 OWASP LLM Top 10 (2025) Prompt injection, jailbreaks, sensitive disclosure, system prompt leakage
owasp-agentic-ai OWASP Agentic AI Top 10 Excessive agency, tool misuse, agent goal hijack, memory poisoning
owasp-mcp-top10 OWASP MCP Top 10 (2025) Secret exposure, scope escalation, tool description injection, SSRF
owasp-api OWASP API Security Top 10 BOLA, BFLA, SQL injection
eu-ai-act-bias EU AI Act — Bias Age, gender, race, disability

→ Full evaluator reference and OWASP mapping

Trace-aware testing

Plug opfor into your observability stack and the LLM judge sees not just the final response — but every tool call, retrieval, and intermediate reasoning step. Out of the box, opfor integrates with Langfuse and Netra.

"telemetry": {
  "provider": "langfuse",
  "langfuse": { "baseUrl": "https://cloud.langfuse.com" }
}

This catches what input/output testing misses — PII that leaks into a tool call but never reaches the user, scope escalations in MCP that don't change the response text, agents that retrieve unauthorized data but render a clean reply.

→ Trace-aware testing guide

Autonomous Red-Teaming

opfor hunt skips the config file entirely. Give it an endpoint and an objective, and a multi-agent system — commander, operators, scout — runs an adaptive attack campaign on its own: recon, strategy, multi-turn probing, report. Unlike opfor run, the agents run on Claude only (via a Claude API key, claude setup-token, or your local claude login session) — your target can be anything.

opfor hunt \
  --endpoint "https://your-agent.com/v1/chat" \
  --objective "Find jailbreaks, system-prompt leakage, and safety bypasses."

Add --ui to watch the attack tree unfold in a live dashboard.

→ Full reference

Browser extension — red-team a chatbot

The browser extension is opfor's no-code path. Install from the Chrome Web Store, open any chat interface, click the opfor icon, pick a suite, and watch it run.

https://github.com/user-attachments/assets/80c2692f-b18b-4899-99df-e7eb8d50b02a

It auto-detects the chat interface, sends attack prompts as if you were typing them, watches the responses, and downloads an HTML report when done. No CLI, no target setup, no YAML.

This is the path for the half of every product team that doesn't open a terminal.

→ Install from the Chrome Web Store · Setup guide

SDK — embed red-teaming in your code

The SDK is opfor's programmatic path. Install @keyvaluesystems/agent-opfor-sdk, call run or hunt, and get structured results back — no CLI, no config files, no subprocess.

import { Opfor } from "@keyvaluesystems/agent-opfor-sdk";

const opfor = new Opfor({ apiKey: process.env.ANTHROPIC_API_KEY });

const results = await opfor.run({
  target: { url: "https://api.example.com/chat" },
  suite: "owasp-llm-top10",
});

Use it in CI, in test suites, or anywhere you need red-teaming without leaving TypeScript.

→ SDK reference

Examples

Example Description
vanilla-chat Plain customer support chatbot — test LLM-level vulnerabilities
customer-support Tool-calling agent with PostgreSQL — test BOLA, BFLA, RBAC, PII
vulnerable-server Sample MCP server with intentional vulnerabilities

Supported LLM providers

Provider Env var Default model
Groq GROQ_API_KEY llama-3.3-70b-versatile
OpenAI OPENAI_API_KEY gpt-4o-mini
Anthropic ANTHROPIC_API_KEY claude-3-5-haiku-20241022
Google GOOGLE_GENERATIVE_AI_API_KEY gemini-2.0-flash
OpenAI-compatible OPFOR_API_KEY + baseURL LiteLLM, OpenRouter, Azure, Ollama

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

 

Authors

Built by the team at KeyValue Software Systems. Contact contact@agentopfor.ai for all enquiries.

 

Security

Use opfor only on systems you own or are authorized to test. To report a vulnerability in opfor itself, see SECURITY.md — do not open a public issue.

 

License

Opfor is licensed under Apache 2.0 — see the LICENSE file for details.


Built with ❤️ by KeyValue

排名相邻
同类项目