
agent-opfor v0.10.2
Emulación de adversarios de código abierto para agentes de IA y servidores MCP.
Emulación de adversario de código abierto para agentes de IA, aplicaciones LLM y servidores MCP.
Prueba tu IA como lo haría un atacante real — desde tu CLI, tu IDE o una extensión de navegador que cualquiera en tu equipo puede usar.
Sitio web · Documentación · GitHub · Extensión de navegador · Discord
OPFOR es la abreviatura de Opposition Force — un término militar para la unidad que hace de enemigo en los entrenamientos, para que el resto del ejército aprenda cómo se sienten los ataques reales antes de que lleguen. Nombramos la herramienta siguiendo esa idea: para defender mejor a los agentes de IA, primero hay que atacarlos.
Por qué construimos esto
Hemos lanzado 130 productos para 90 startups en los últimos diez años. En los últimos 18 meses, casi todos ellos tenían un agente de IA — y todos esos equipos se encontraron con el mismo obstáculo a la hora de probar.
Así que construimos OPFOR. Primero para nosotros. Ahora de código abierto.
Apache 2.0. Construido desde India.
Inicio rápido
npm install -g @keyvaluesystems/agent-opfor-cli
export OPENAI_API_KEY=your-key # or GEMINI_API_KEY, ANTHROPIC_API_KEY, etc.
Un solo paso — ejecuta el asistente de configuración e inicia el escaneo inmediatamente:
opfor run
Dos pasos — guarda una configuración que puedes reutilizar o integrar en CI:
opfor setup # el asistente guarda la configuración en .opfor/configs/
opfor run --config .opfor/configs/<file> # ejecuta en cualquier momento con la configuración guardada
https://github.com/user-attachments/assets/a6a3cff2-2cf9-4486-944e-ac0163e7ea04
Qué hace opfor
Opfor realiza pruebas de penetración en toda la superficie del agente de IA — indicaciones, herramientas, servidores MCP, memoria y razonamiento multiturn. Genera ataques dirigidos para OWASP LLM Top 10, OWASP Agentic AI Top 10, OWASP MCP Top 10, OWASP API Security y las suites de sesgo de la EU AI Act, los lanza contra tu objetivo y evalúa cada respuesta con un LLM.
La mayoría de las herramientas de red-teaming en este espacio son excelentes en una cosa — una biblioteca de sondas, un evaluador para desarrolladores, un marco programático. Opfor cubre más terreno en una sola herramienta:
- Extensión de navegador para no desarrolladores — cualquier persona de tu equipo puede hacer red-team a un chatbot desplegado, sin código, sin variables de entorno, sin YAML
- Ejecuta opfor como servidor MCP — permite que tu agente de codificación de IA en Cursor o Claude Desktop haga red-team a tus otros agentes mediante lenguaje natural
- Cobertura completa de OWASP en una herramienta — LLM Top 10, Agentic AI Top 10, MCP Top 10, API Security Top 10
- Sin caja negra — cada indicación de ataque, solicitud, respuesta y veredicto del juez se registra; reproducible, auditable, bifurcable
- Construido para agentes, no solo para modelos — diseñado para llamadas a herramientas, MCP, memoria y estado multiturn desde el primer día
- Consciente de trazas — se integra con Langfuse y Netra para que el juez LLM vea lo que tu agente hizo internamente, no solo lo que dijo
Cinco formas de ejecutar opfor
Diferentes personas en tu equipo necesitan diferentes puntos de entrada. Opfor ofrece cinco.
| Modo | Cómo | Ideal para |
|---|---|---|
| 🖥️ CLI | opfor setup → opfor run | Ingenieros, CI/CD, flujos de trabajo centrados en terminal |
| 🌐 Extensión de navegador | Instala la extensión, haz clic en el icono en cualquier interfaz de chat | Product managers, diseñadores, QA, analistas de seguridad — cualquiera que no pueda o no quiera escribir código |
| 🤖 Servidor MCP | Registra opfor en Cursor o Claude Desktop, luego pregunta en el chat | Agentes de codificación de IA que prueban tus otros agentes |
| ⚡ Skills | /opfor-setup · /opfor-run · /opfor-mcp-setup · /opfor-mcp-run | Desarrolladores que quieren pruebas con un solo comando dentro de su IDE |
| 📦 SDK | npm install @keyvaluesystems/agent-opfor-sdk, luego llama a run / hunt desde tu código | Red-teaming programático y flujos de trabajo personalizados |
Los cinco comparten los mismos evaluadores, plantillas de ataque y lógica de juez.
→ Referencia de CLI · Configuración de la extensión de navegador · Configuración de MCP · Configuración de Skills · Referencia del SDK · Manejo de sesiones
Cómo funciona
Cuando ejecutas un escaneo, opfor:
- Obtiene información del objetivo — se conecta a tu agente, detecta herramientas disponibles, puntos finales MCP, capacidades
- Planifica ataques por categoría — genera indicaciones dirigidas para cada evaluador en el suite seleccionado
- Emula el ataque — ejecuta conversaciones adversariales multiturn (solicitudes reales, respuestas reales)
- Evalúa con un juez — un juez LLM clasifica cada respuesta como aprobado/fallo + razonamiento
- Genera un informe — HTML para navegación, JSON para CI/CD, todos los artefactos registrados para reproducibilidad
Cada ejecución se almacena en su propia subcarpeta bajo .opfor/reports/run-report-<compactTs>-<slug>-<shortId>/ que contiene <slug>-report.html y <slug>-report.json. Las ejecuciones autónomas de opfor hunt usan la misma estructura bajo hunt-report-<compactTs>-<slug>-<shortId>/.
Cobertura de evaluadores
Opfor incluye suites seleccionadas que se alinean con los estándares de la industria. Elige un suite o ejecuta evaluadores individuales.
| ID del suite | Estándar | Enfoque |
|---|---|---|
owasp-llm-top10 | OWASP LLM Top 10 (2025) | Inyección de indicaciones, jailbreaks, divulgación sensible, fuga de indicación del sistema |
owasp-agentic-ai | OWASP Agentic AI Top 10 | Agencia excesiva, mal uso de herramientas, secuestro de objetivos del agente, envenenamiento de memoria |
owasp-mcp-top10 | OWASP MCP Top 10 (2025) | Exposición de secretos, escalada de alcance, inyección en descripción de herramientas, SSRF |
owasp-api | OWASP API Security Top 10 | BOLA, BFLA, inyección SQL |
eu-ai-act-bias | EU AI Act — Bias | Edad, género, raza, discapacidad |
→ Referencia completa de evaluadores y mapeo OWASP
Pruebas con trazabilidad
Conecta opfor a tu stack de observabilidad y el juez LLM no solo ve la respuesta final — sino cada llamada a herramienta, recuperación y paso de razonamiento intermedio. De fábrica, opfor se integra con Langfuse y Netra.
"telemetry": {
"provider": "langfuse",
"langfuse": { "baseUrl": "https://cloud.langfuse.com" }
}
Esto detecta lo que las pruebas de entrada/salida omiten — PII que se filtra en una llamada a herramienta pero nunca llega al usuario, escaladas de alcance en MCP que no cambian el texto de la respuesta, agentes que recuperan datos no autorizados pero muestran una respuesta limpia.
→ Guía de pruebas con trazabilidad
Red-Teaming Autónomo
opfor hunt omite el archivo de configuración por completo. Proporciónale un punto final y un objetivo, y un sistema multiagente — comandante, operadores, explorador — ejecuta una campaña de ataque adaptativa por sí mismo: reconocimiento, estrategia, sondeo multiturn, informe. A diferencia de opfor run, los agentes se ejecutan solo en Claude (mediante una clave API de Claude, claude setup-token o tu sesión local claude login) — tu objetivo puede ser cualquier cosa.
opfor hunt \
--endpoint "https://your-agent.com/v1/chat" \
--objective "Encuentra jailbreaks, fuga de indicación del sistema y evasiones de seguridad."
Agrega --ui para ver el árbol de ataque en un panel en vivo.
Extensión de navegador — red-team a un chatbot
La extensión de navegador es la ruta sin código de opfor. Instálala desde Chrome Web Store, abre cualquier interfaz de chat, haz clic en el icono de opfor, elige un suite y observa cómo se ejecuta.
https://github.com/user-attachments/assets/80c2692f-b18b-4899-99df-e7eb8d50b02a
Detecta automáticamente la interfaz de chat, envía indicaciones de ataque como si las estuvieras escribiendo, observa las respuestas y descarga un informe HTML al finalizar. Sin CLI, sin configuración del objetivo, sin YAML.
Esta es la ruta para la mitad de cada equipo de producto que no abre un terminal.
→ Instálala desde Chrome Web Store · Guía de configuración
SDK — integra red-teaming en tu código
El SDK es la ruta programática de opfor. Instala @keyvaluesystems/agent-opfor-sdk, llama a run o hunt, y obtén resultados estructurados — sin CLI, sin archivos de configuración, sin subprocesos.
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",
});
Úsalo en CI, en suites de prueba, o en cualquier lugar donde necesites red-teaming sin salir de TypeScript.
Ejemplos
| Ejemplo | Descripción |
|---|---|
| vanilla-chat | Chatbot básico de soporte al cliente — prueba vulnerabilidades a nivel LLM |
| customer-support | Agente con llamadas a herramientas y PostgreSQL — prueba BOLA, BFLA, RBAC, PII |
| vulnerable-server | Servidor MCP de ejemplo con vulnerabilidades intencionales |
Proveedores LLM compatibles
| Proveedor | Variable de entorno | Modelo por defecto |
|---|---|---|
| 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-compatible | OPFOR_API_KEY + baseURL | LiteLLM, OpenRouter, Azure, Ollama |
Contribuciones
Por favor, lee CONTRIBUTING.md para obtener detalles sobre nuestro código de conducta y el proceso para enviar pull requests.
Autores
Construido por el equipo de KeyValue Software Systems. Contacto: [email protected] para cualquier consulta.
Seguridad
Usa opfor solo en sistemas que poseas o que estés autorizado a probar. Para reportar una vulnerabilidad en opfor, consulta SECURITY.md — no abras un issue público.
Licencia
Opfor está licenciado bajo Apache 2.0 — consulta el archivo LICENSE para más detalles.
Construido con ❤️ por KeyValue