Retour aux mises à jour
New releaseAug 10, 2026

agent-opfor v0.10.2

Émulation d'adversaire open-source pour agents d'IA et serveurs MCP.

Partager

OPFOR

Émulation adverse open-source pour agents IA, applications LLM et serveurs MCP.
Testez votre IA comme un véritable attaquant le ferait — depuis votre CLI, votre IDE, ou une extension de navigateur que n'importe qui dans votre équipe peut utiliser.

License: Apache 2.0 GitHub stars Discord OWASP coverage

KeyValueSoftwareSystems%2Fagent-opfor | Trendshift

Site web · Documentation · GitHub · Extension navigateur · Discord

OPFOR est l'abréviation de Opposition Force — un terme militaire désignant l'unité qui joue l'ennemi lors des entraînements, afin que le reste de l'armée apprenne ce que sont de véritables attaques avant qu'elles n'arrivent. Nous avons nommé l'outil d'après cette idée : pour mieux défendre les agents IA, il faut d'abord les attaquer.

Fonctionnement d'OPFOR

Pourquoi nous l'avons construit

Nous avons livré 130 produits pour 90 startups au cours des dix dernières années. Ces 18 derniers mois, presque chacun d'entre eux contenait un agent IA — et chaque équipe s'est heurtée au même mur en matière de tests.

C'est pourquoi nous avons construit OPFOR. D'abord pour nous-mêmes. Maintenant en open source.

Apache 2.0. Construit depuis l'Inde.

Démarrage rapide

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

En une étape — lance l'assistant de configuration et démarre immédiatement l'analyse :

opfor run

En deux étapes — enregistrez une configuration réutilisable ou à intégrer dans votre CI :

opfor setup                               # l'assistant enregistre une config dans .opfor/configs/
opfor run --config .opfor/configs/<file>  # exécutez à tout moment avec la config sauvegardée

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

Ce que fait opfor

Opfor effectue un red-teaming sur l'ensemble de la surface d'attaque d'un agent IA — invites, outils, serveurs MCP, mémoire et raisonnement multi-tour. Il génère des attaques ciblées pour les OWASP LLM Top 10, OWASP Agentic AI Top 10, OWASP MCP Top 10, OWASP API Security et les suites de biais de l'EU AI Act, les envoie à votre cible et juge chaque réponse avec un LLM.

La plupart des outils de red-teaming dans ce domaine excellent sur un point — une bibliothèque de sondes, un évaluateur développeur, un framework programmatique. Opfor couvre plus de terrain en un seul outil :

  • Extension navigateur pour non-développeurs — n'importe qui dans votre équipe peut red-teamer un chatbot déployé, sans code, sans variables d'environnement, sans YAML
  • Exécutez opfor en tant que serveur MCP — laissez votre agent de codage IA dans Cursor ou Claude Desktop red-teamer vos autres agents via le langage naturel
  • Couverture OWASP complète en un seul outil — LLM Top 10, Agentic AI Top 10, MCP Top 10, API Security Top 10
  • Pas de boîte noire — chaque invite d'attaque, requête, réponse et verdict du juge est enregistré ; reproductible, vérifiable, forkable
  • Conçu pour les agents, pas seulement les modèles — conçu dès le départ pour les appels d'outils, MCP, la mémoire et l'état multi-tour
  • Conscient des traces — s'intègre avec Langfuse et Netra pour que le juge LLM voie ce que votre agent a fait en interne, pas seulement ce qu'il a dit

Cinq façons d'exécuter opfor

Différentes personnes dans votre équipe ont besoin de points d'entrée différents. Opfor en propose cinq.

ModeCommentIdéal pour
🖥️ CLIopfor setupopfor runIngénieurs, CI/CD, workflows centrés sur le terminal
🌐 Extension navigateurInstallez l'extension, cliquez sur l'icône sur n'importe quelle interface de chatChefs de produit, designers, QA, analystes de sécurité — tous ceux qui ne peuvent pas ou ne veulent pas coder
🤖 Serveur MCPEnregistrez opfor dans Cursor ou Claude Desktop, puis demandez dans le chatAgents de codage IA qui testent vos autres agents
Compétences/opfor-setup · /opfor-run · /opfor-mcp-setup · /opfor-mcp-runDéveloppeurs qui souhaitent des tests en une commande dans leur IDE
📦 SDKnpm install @keyvaluesystems/agent-opfor-sdk, puis appelez run / hunt depuis votre codeRed-teaming programmatique et workflows personnalisés

Les cinq partagent les mêmes évaluateurs, modèles d'attaque et logique de jugement.

Référence CLI · Configuration de l'extension navigateur · Configuration MCP · Configuration des compétences · Référence SDK · Gestion des sessions

Comment ça marche

Ce qui se passe lors de l'exécution d'opfor

Lorsque vous exécutez une analyse, opfor :

  1. Récupère les informations sur la cible — se connecte à votre agent, détecte les outils disponibles, les endpoints MCP, les capacités
  2. Planifie les attaques par catégorie — génère des invites ciblées pour chaque évaluateur de la suite sélectionnée
  3. Simule l'attaque — exécute des conversations adversariales multi-tour (requêtes réelles, réponses réelles)
  4. Évalue avec un juge — un juge LLM classe chaque réponse avec succès/échec + raisonnement
  5. Génère un rapport — HTML pour la navigation, JSON pour CI/CD, tous les artefacts sont enregistrés pour la reproductibilité

Chaque exécution atterrit dans son propre sous-dossier sous .opfor/reports/run-report-<compactTs>-<slug>-<shortId>/ contenant <slug>-report.html et <slug>-report.json. Les exécutions autonomes opfor hunt utilisent la même structure sous hunt-report-<compactTs>-<slug>-<shortId>/.

Couverture des évaluateurs

Opfor est livré avec des suites organisées qui correspondent aux normes de l'industrie. Choisissez une suite ou exécutez des évaluateurs individuels.

ID de la suiteNormeObjectif
owasp-llm-top10OWASP LLM Top 10 (2025)Injection d'invites, jailbreaks, divulgation sensible, fuite d'invite système
owasp-agentic-aiOWASP Agentic AI Top 10Agence excessive, mauvaise utilisation des outils, détournement d'objectif de l'agent, empoisonnement de la mémoire
owasp-mcp-top10OWASP MCP Top 10 (2025)Exposition de secrets, escalade de portée, injection de description d'outil, SSRF
owasp-apiOWASP API Security Top 10BOLA, BFLA, injection SQL
eu-ai-act-biasEU AI Act — BiaisÂge, genre, race, handicap

Référence complète des évaluateurs et correspondance OWASP

Tests conscients des traces

Branchez opfor à votre pile d'observabilité et le juge LLM voit non seulement la réponse finale — mais aussi chaque appel d'outil, récupération et étape de raisonnement intermédiaire. Prêt à l'emploi, opfor s'intègre avec Langfuse et Netra.

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

Cela permet de détecter ce que les tests entrée/sortie manquent — des données personnelles qui fuient dans un appel d'outil mais n'atteignent jamais l'utilisateur, des escalades de portée dans MCP qui ne modifient pas le texte de réponse, des agents qui récupèrent des données non autorisées mais affichent une réponse propre.

Guide des tests conscients des traces

Red-teaming autonome

opfor hunt ignore complètement le fichier de configuration. Donnez-lui un endpoint et un objectif, et un système multi-agents — commandant, opérateurs, éclaireur — exécute une campagne d'attaque adaptative de son propre chef : reconnaissance, stratégie, sondage multi-tour, rapport. Contrairement à opfor run, les agents s'exécutent uniquement sur Claude (via une clé API Claude, claude setup-token, ou votre session locale claude login) — votre cible peut être n'importe quoi.

opfor hunt \
  --endpoint "https://your-agent.com/v1/chat" \
  --objective "Trouver des jailbreaks, des fuites d'invite système et des contournements de sécurité."

Ajoutez --ui pour voir l'arbre d'attaque se dérouler dans un tableau de bord en direct.

Référence complète

Extension navigateur — red-teamer un chatbot

L'extension navigateur est la voie sans code d'opfor. Installez-la depuis le Chrome Web Store, ouvrez n'importe quelle interface de chat, cliquez sur l'icône opfor, choisissez une suite, et regardez-la s'exécuter.

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

Elle détecte automatiquement l'interface de chat, envoie des invites d'attaque comme si vous les tapiez, surveille les réponses et télécharge un rapport HTML une fois terminé. Pas de CLI, pas de configuration de cible, pas de YAML.

C'est la voie pour la moitié de chaque équipe produit qui n'ouvre pas de terminal.

Installer depuis le Chrome Web Store · Guide de configuration

SDK — intégrez le red-teaming dans votre code

Le SDK est la voie programmatique d'opfor. Installez @keyvaluesystems/agent-opfor-sdk, appelez run ou hunt, et obtenez des résultats structurés — pas de CLI, pas de fichiers de configuration, pas de sous-processus.

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",
});

Utilisez-le dans CI, dans des suites de tests, ou partout où vous avez besoin de red-teaming sans quitter TypeScript.

Référence SDK

Exemples

ExempleDescription
vanilla-chatChatbot de support client basique — testez les vulnérabilités au niveau LLM
customer-supportAgent avec appels d'outils et PostgreSQL — testez BOLA, BFLA, RBAC, données personnelles
vulnerable-serverExemple de serveur MCP avec vulnérabilités intentionnelles

Fournisseurs LLM pris en charge

FournisseurVariable d'environnementModèle par défaut
GroqGROQ_API_KEYllama-3.3-70b-versatile
OpenAIOPENAI_API_KEYgpt-4o-mini
AnthropicANTHROPIC_API_KEYclaude-3-5-haiku-20241022
GoogleGOOGLE_GENERATIVE_AI_API_KEYgemini-2.0-flash
Compatible OpenAIOPFOR_API_KEY + baseURLLiteLLM, OpenRouter, Azure, Ollama

Contribuer

Veuillez lire CONTRIBUTING.md pour les détails sur notre code de conduite et le processus de soumission des pull requests.

 

Auteurs

Construit par l'équipe de KeyValue Software Systems. Contactez [email protected] pour toutes demandes.

 

Sécurité

Utilisez opfor uniquement sur des systèmes que vous possédez ou que vous êtes autorisé à tester. Pour signaler une vulnérabilité dans opfor lui-même, consultez SECURITY.md — n'ouvrez pas de ticket public.

 

Licence

Opfor est sous licence Apache 2.0 — voir le fichier LICENSE pour plus de détails.


Construit avec ❤️ par KeyValue

Catégories