面向AI智能体、LLM应用和MCP服务器的开源对抗仿真工具。
像真实攻击者一样测试你的AI——从命令行、IDE或浏览器扩展(团队中任何人都可使用)即可完成。
网站 · 文档 · GitHub · 浏览器扩展 · Discord
OPFOR 是 "Opposition Force"(对抗部队)的缩写——这是一个军事术语,指在训练中扮演敌军的单位,让其他部队在真正的攻击来临之前感受真实攻击的样子。我们根据这个理念命名了该工具:要更好地防御AI智能体,必须先攻击它们。
在过去十年中,我们为90家初创公司交付了130个产品。在最近18个月中,几乎每一个产品都包含了AI智能体——而每个团队在测试时都遇到了同样的障碍。
于是我们构建了 OPFOR。首先为了我们自己。现在开源。
Apache 2.0 许可证。来自印度。
npm install -g @keyvaluesystems/agent-opfor-cli
export OPENAI_API_KEY=your-key # 或 GEMINI_API_KEY、ANTHROPIC_API_KEY 等
一步完成——运行设置向导并立即开始扫描:
opfor run
两步完成——保存可重复使用或提交到 CI 的配置:
opfor setup # 向导将配置保存到 .opfor/configs/
opfor run --config .opfor/configs/<file> # 随时使用保存的配置运行
https://github.com/user-attachments/assets/a6a3cff2-2cf9-4486-944e-ac0163e7ea04
OPFOR 对AI智能体的完整攻击面进行红队测试——包括提示、工具、MCP服务器、记忆和多轮推理。它针对 OWASP LLM Top 10、OWASP Agentic AI Top 10、OWASP MCP Top 10、OWASP API安全以及欧盟AI法案偏见套件生成定向攻击,向目标发起攻击,并用LLM评估每个响应。
这一领域的大多数红队工具只擅长一件事——要么是一个探测库、一个开发者评估器、一个程序化框架。OPFOR 在一款工具中覆盖更多方面:
团队中不同的人需要不同的入口点。OPFOR 提供五种。
所有五种模式共享相同的评估器、攻击模板和判断逻辑。
→ CLI 参考 · 浏览器扩展设置 · MCP 设置 · 技能设置 · SDK 参考 · 会话处理
当你运行扫描时,opfor 会:
每次运行都会在 .opfor/reports/run-report-<compactTs>-<slug>-<shortId>/ 下创建自己的子文件夹,包含 <slug>-report.html 和 <slug>-report.json。自主 opfor hunt 运行使用相同的布局,位于 hunt-report-<compactTs>-<slug>-<shortId>/ 下。
OPFOR 内置了映射到行业标准的精选套件。可以选择一个套件或运行单个评估器。
将 OPFOR 接入你的可观测性栈后,LLM评估器不仅能看到最终响应,还能看到每个工具调用、检索和中间推理步骤。开箱即用,OPFOR 与 Langfuse 和 Netra 集成。
"telemetry": {
"provider": "langfuse",
"langfuse": { "baseUrl": "https://cloud.langfuse.com" }
}
这能捕获仅靠输入/输出测试无法发现的问题——例如 PII 泄露到工具调用中但从未到达用户、MCP 中的权限提升不改变响应文本、智能体检索了未授权数据但输出了干净的回复。
opfor hunt 完全跳过配置文件。给它一个端点和一个目标,一个多智能体系统——指挥官、操作员、侦察兵——会自动运行适应性攻击活动:侦察、策略、多轮探测、报告。与 opfor run 不同,这些智能体仅运行在 Claude 上(通过 Claude API 密钥、claude setup-token 或本地 claude login 会话)——你的目标可以是任何东西。
opfor hunt \
--endpoint "https://your-agent.com/v1/chat" \
--objective "寻找越狱、系统提示泄露和安全规避。"
添加 --ui 可在实时仪表板中观察攻击树的展开。
→ 完整参考
浏览器扩展是 OPFOR 的无代码路径。从 Chrome Web Store 安装,打开任何聊天界面,点击 OPFOR 图标,选择一个套件,然后观看它运行。
https://github.com/user-attachments/assets/80c2692f-b18b-4899-99df-e7eb8d50b02a
它会自动检测聊天界面,像你打字一样发送攻击提示,观察响应,完成后下载 HTML 报告。不需要 CLI、目标设置或 YAML。
这是每个产品团队中那些不打开终端的成员所使用的路径。
→ 从 Chrome Web Store 安装 · 设置指南
SDK 是 OPFOR 的程序化路径。安装 @keyvaluesystems/agent-opfor-sdk,调用 run 或 hunt,即可获得结构化结果——不需要 CLI、配置文件或子进程。
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",
});
可在 CI、测试套件或任何需要在不离开 TypeScript 的情况下进行红队测试的地方使用。
→ SDK 参考
| 示例 | 描述 |
|---|---|
| vanilla-chat | 普通客户支持聊天机器人——测试 LLM 级别漏洞 |
| customer-support |
请阅读 CONTRIBUTING.md 了解我们的行为准则以及提交拉取请求的流程。
由 KeyValue Software Systems 团队构建。如有任何疑问,请联系 [email protected]。
仅在你拥有或已获授权测试的系统上使用 OPFOR。若要在 OPFOR 自身中报告漏洞,请参阅 SECURITY.md——不要公开提交问题。
OPFOR 采用 Apache 2.0 许可证——详情请参阅 LICENSE 文件。
由 KeyValue 用心构建 ❤️
| 模式 | 方式 | 最适合 |
|---|
| 🖥️ CLI | opfor setup → opfor run | 工程师、CI/CD、终端优先的工作流 |
| 🌐 浏览器扩展 | 安装扩展,在任何聊天界面上点击图标 | 产品经理、设计师、QA、安全分析师——任何不能或不愿意编写代码的人 |
| 🤖 MCP 服务器 | 在 Cursor 或 Claude Desktop 中注册 opfor,然后在聊天中提问 | 用于测试其他智能体的AI编码智能体 |
| ⚡ 技能 | /opfor-setup · /opfor-run · /opfor-mcp-setup · /opfor-mcp-run | 希望在 IDE 内一键测试的开发者 |
| 📦 SDK | npm install @keyvaluesystems/agent-opfor-sdk,然后在代码中调用 run / hunt | 程序化红队测试和自定义工作流 |
| 套件 ID | 标准 | 关注点 |
|---|
owasp-llm-top10 | OWASP LLM Top 10 (2025) | 提示注入、越狱、敏感信息披露、系统提示泄露 |
owasp-agentic-ai | OWASP Agentic AI Top 10 | 过度授权、工具滥用、智能体目标劫持、记忆投毒 |
owasp-mcp-top10 | OWASP MCP Top 10 (2025) | 秘密暴露、权限升级、工具描述注入、SSRF |
owasp-api | OWASP API Security Top 10 | BOLA、BFLA、SQL注入 |
eu-ai-act-bias | 欧盟AI法案——偏见 | 年龄、性别、种族、残疾 |
| 带 PostgreSQL 的工具调用智能体——测试 BOLA、BFLA、RBAC、PII |
| vulnerable-server | 带有故意漏洞的示例 MCP 服务器 |
| 提供商 | 环境变量 | 默认模型 |
|---|
| 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_GENERATIVE_AI_API_KEY | gemini-2.0-flash | |
| OpenAI 兼容 | OPFOR_API_KEY + baseURL | LiteLLM、OpenRouter、Azure、Ollama |