
AI एजेंट और MCP सर्वर के लिए ओपन-सोर्स प्रतिद्वंद्वी अनुकरण।
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="assets/Opfor_white%20text.svg" />
<source media="(prefers-color-scheme: light)" srcset="assets/Opfor_black%20text.svg" />
<img src="https://raw.githubusercontent.com/keyvaluesoftwaresystems/agent-opfor/HEAD/assets/Opfor_black%20text.svg" alt="OPFOR" width="250" />
</picture>
</p>
<p align="center">
<strong>AI एजेंटों, LLM ऐप्स और MCP सर्वर के लिए ओपन-सोर्स प्रतिद्वंद्वी अनुकरण।</strong><br/>
अपने AI का परीक्षण करें जैसे कोई वास्तविक हमलावर करता है — अपने CLI, अपने IDE, या एक ब्राउज़र एक्सटेंशन से जिसे आपकी टीम का कोई भी सदस्य उपयोग कर सकता है।
</p>
<p align="center">
<a href="https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-Apache_2.0-444441?style=flat&labelColor=3d3d3a" alt="License: Apache 2.0"></a>
<a href="https://github.com/KeyValueSoftwareSystems/agent-opfor/stargazers"><img src="https://img.shields.io/github/stars/KeyValueSoftwareSystems/agent-opfor?style=flat&labelColor=3d3d3a&color=444441" alt="GitHub stars"></a>
<a href="https://discord.gg/Sb8xfmrjjW"><img src="https://img.shields.io/badge/Discord-join-5865F2?style=flat&logo=discord&logoColor=white&labelColor=3d3d3a" alt="Discord"></a>
<a href="#evaluator-coverage"><img src="https://img.shields.io/badge/OWASP-LLM%20+%20Agentic%20+%20MCP%20+%20API-185FA5?style=flat&labelColor=3d3d3a" alt="OWASP coverage"></a>
</p>
<p align="center">
<a href="https://trendshift.io/repositories/75655?utm_source=trendshift-badge&utm_medium=badge&utm_campaign=badge-trendshift-75655" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/trendshift/repositories/75655/daily?language=TypeScript" alt="KeyValueSoftwareSystems%2Fagent-opfor | Trendshift" width="250" height="55"/></a>
</p>
<p align="center">
<a href="https://agentopfor.ai/">वेबसाइट</a> ·
<a href="https://docs.agentopfor.ai">दस्तावेज़</a> ·
<a href="https://github.com/KeyValueSoftwareSystems/agent-opfor">GitHub</a> ·
<a href="https://chromewebstore.google.com/detail/blkflfeicejfnbecanjaolbllmoobenp">ब्राउज़र एक्सटेंशन</a> ·
<a href="https://discord.gg/Sb8xfmrjjW">Discord</a>
</p>
OPFOR _Opposition Force_ का संक्षिप्त रूप है — यह एक सैन्य शब्द है जो प्रशिक्षण में दुश्मन की भूमिका निभाने वाली इकाई के लिए उपयोग होता है, ताकि बाकी सेना को पता चले कि असली हमले कैसे महसूस होते हैं, इससे पहले कि वे आएँ। हमने इस उपकरण का नाम इसी विचार पर रखा: AI एजेंटों की बेहतर रक्षा करने के लिए, आपको पहले उन पर हमला करना होगा।
<p align="center">
<img src="https://raw.githubusercontent.com/keyvaluesoftwaresystems/agent-opfor/HEAD/assets/opfor-high-level.svg" alt="OPFOR कैसे काम करता है" width="860" />
</p>
## हमने इसे क्यों बनाया
पिछले दस वर्षों में हमने 90 स्टार्टअप्स के लिए 130 उत्पाद शिप किए हैं। पिछले 18 महीनों में, उनमें से लगभग हर एक में एक AI एजेंट था — और उन सभी टीमों को परीक्षण करने में एक ही दीवार का सामना करना पड़ा।
इसलिए हमने OPFOR बनाया। पहले अपने लिए। अब ओपन सोर्स।
Apache 2.0। भारत से बनाया गया।
## त्वरित प्रारंभ
```bash
npm install -g @keyvaluesystems/agent-opfor-cli
export OPENAI_API_KEY=your-key # या GEMINI_API_KEY, ANTHROPIC_API_KEY, आदि।
```
**One-shot** — सेटअप विज़ार्ड चलाता है और तुरंत स्कैन शुरू करता है:
```bash
opfor run
```
**Two-step** — एक कॉन्फ़िगरेशन सहेजें जिसे आप पुन: उपयोग कर सकते हैं या CI में कमिट कर सकते हैं:
```bash
opfor setup # विज़ार्ड कॉन्फ़िगरेशन को .opfor/configs/ में सहेजता है
opfor run --config .opfor/configs/<file> # सहेजे गए कॉन्फ़िगरेशन के साथ कभी भी चलाएँ
```
https://github.com/user-attachments/assets/a6a3cff2-2cf9-4486-944e-ac0163e7ea04
## opfor क्या करता है
Opfor AI एजेंट की पूरी सतह — प्रॉम्प्ट, टूल, MCP सर्वर, मेमोरी और मल्टी-टर्न तर्क — का रेड-टीमिंग करता है। यह OWASP LLM टॉप 10, OWASP Agentic AI टॉप 10, OWASP MCP टॉप 10, OWASP API सुरक्षा और EU AI अधिनियम पूर्वाग्रह सूट के लिए लक्षित हमले उत्पन्न करता है, उन्हें आपके लक्ष्य पर दागता है, और प्रत्येक प्रतिक्रिया का LLM से निर्णय करता है।
इस क्षेत्र में अधिकांश रेड-टीम टूलिंग एक चीज़ में उत्कृष्ट है — एक प्रोब लाइब्रेरी, एक डेवलपर मूल्यांकनकर्ता, एक प्रोग्रामेटिक फ्रेमवर्क। Opfor एक उपकरण में अधिक जमीन को कवर करता है:
- **गैर-डेवलपर्स के लिए ब्राउज़र एक्सटेंशन** — आपकी टीम का कोई भी व्यक्ति तैनात चैटबॉट का रेड-टीमिंग कर सकता है, बिना कोड, बिना env vars, बिना YAML
- **opfor को MCP सर्वर के रूप में चलाएँ** — अपने AI कोडिंग एजेंट को Cursor या Claude Desktop में प्राकृतिक भाषा के माध्यम से आपके अन्य एजेंटों का रेड-टीमिंग करने दें
- **एक उपकरण में पूर्ण OWASP कवरेज** — LLM टॉप 10, Agentic AI टॉप 10, MCP टॉप 10, API सुरक्षा टॉप 10
- **कोई ब्लैक बॉक्स नहीं** — प्रत्येक हमला प्रॉम्प्ट, अनुरोध, प्रतिक्रिया और निर्णायक फैसला लॉग किया जाता है; पुनरुत्पादनीय, ऑडिट करने योग्य, फोर्क करने योग्य
- **मॉडल के लिए नहीं, एजेंटों के लिए बनाया गया** — पहले दिन से टूल कॉल, MCP, मेमोरी और मल्टी-टर्न स्थिति के लिए डिज़ाइन किया गया
- **ट्रेस-जागरूक** — Langfuse और Netra के साथ एकीकृत होता है ताकि LLM निर्णायक देख सके कि आपके एजेंट ने आंतरिक रूप से क्या किया, न कि केवल उसने क्या कहा
## opfor चलाने के पांच तरीके
आपकी टीम के विभिन्न लोगों को अलग-अलग प्रवेश बिंदुओं की आवश्यकता होती है। Opfor पांच भेजता है।
| मोड | कैसे | किसके लिए सर्वोत्तम |
| ------------------------ | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| 🖥️ **CLI** | `opfor setup` → `opfor run` | इंजीनियर, CI/CD, टर्मिनल-पहले वर्कफ़्लो |
| 🌐 **ब्राउज़र एक्सटेंशन** | एक्सटेंशन इंस्टॉल करें, किसी भी चैट इंटरफ़ेस पर आइकन पर क्लिक करें | उत्पाद प्रबंधक, डिज़ाइनर, QA, सुरक्षा विश्लेषक — कोई भी जो कोड नहीं लिख सकता या नहीं लिखना चाहता |
| 🤖 **MCP सर्वर** | Cursor या Claude Desktop में opfor पंजीकृत करें, फिर चैट में पूछें | AI कोडिंग एजेंट जो आपके अन्य एजेंटों का परीक्षण करते हैं |
| ⚡ **Skills** | `/opfor-setup` · `/opfor-run` · `/opfor-mcp-setup` · `/opfor-mcp-run` | डेवलपर जो अपने IDE के अंदर एक-कमांड परीक्षण चाहते हैं |
| 📦 **SDK** | `npm install @keyvaluesystems/agent-opfor-sdk`, फिर अपने कोड से `run` / `hunt` कॉल करें | प्रोग्रामेटिक रेड-टीमिंग और कस्टम वर्कफ़्लो |
पांचों समान मूल्यांकनकर्ता, हमला टेम्पलेट और निर्णायक तर्क साझा करते हैं।
→ [CLI संदर्भ](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/docs/cli.md) · [ब्राउज़र एक्सटेंशन सेटअप](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/docs/browser-extension.md) · [MCP सेटअप](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/docs/mcp.md) · [Skills सेटअप](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/docs/skills.md) · [SDK संदर्भ](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/docs/sdk.md) · [सत्र प्रबंधन](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/docs/sessions.md)
## यह कैसे काम करता है
<p align="center">
<img src="https://raw.githubusercontent.com/keyvaluesoftwaresystems/agent-opfor/HEAD/assets/opfor-execution-flow.svg" alt="opfor run के दौरान क्या होता है" width="860" />
</p>
जब आप एक स्कैन चलाते हैं, opfor:
1. **लक्ष्य जानकारी प्राप्त करता है** — आपके एजेंट से जुड़ता है, उपलब्ध टूल, MCP एंडपॉइंट, क्षमताओं का पता लगाता है
2. **प्रति श्रेणी हमलों की योजना बनाता है** — आपके चयनित सूट में प्रत्येक मूल्यांकनकर्ता के लिए लक्षित प्रॉम्प्ट उत्पन्न करता है
3. **हमले का अनुकरण करता है** — मल्टी-टर्न प्रतिकूल वार्तालाप चलाता है (वास्तविक अनुरोध, वास्तविक प्रतिक्रियाएँ)
4. **एक निर्णायक से मूल्यांकन करता है** — एक LLM निर्णायक प्रत्येक प्रतिक्रिया को पास/फेल + तर्क के साथ वर्गीकृत करता है
5. **एक रिपोर्ट उत्पन्न करता है** — ब्राउज़िंग के लिए HTML, CI/CD के लिए JSON, सभी कलाकृतियाँ पुनरुत्पादनीयता के लिए लॉग की जाती हैं
प्रत्येक रन `.opfor/reports/run-report-<compactTs>-<slug>-<shortId>/` के अंतर्गत अपने स्वयं के उपफ़ोल्डर में आता है जिसमें `<slug>-report.html` और `<slug>-report.json` होता है। स्वायत्त `opfor hunt` रन समान लेआउट का उपयोग करते हैं `hunt-report-<compactTs>-<slug>-<shortId>/` के अंतर्गत।
## मूल्यांकनकर्ता कवरेज
Opfor उद्योग मानकों से मैप किए गए क्यूरेटेड सूट के साथ आता है। एक सूट चुनें या व्यक्तिगत मूल्यांकनकर्ता चलाएँ।
| सूट आईडी | मानक | फोकस |
| ------------------ | ------------------------- | ------------------------------------------------------------------------- |
| `owasp-llm-top10` | OWASP LLM टॉप 10 (2025) | प्रॉम्प्ट इंजेक्शन, जेलब्रेक, संवेदनशील प्रकटीकरण, सिस्टम प्रॉम्प्ट रिसाव |
| `owasp-agentic-ai` | OWASP Agentic AI टॉप 10 | अत्यधिक एजेंसी, टूल दुरुपयोग, एजेंट लक्ष्य अपहरण, मेमोरी विषाक्तता |
| `owasp-mcp-top10` | OWASP MCP टॉप 10 (2025) | गुप्त जोखिम, दायरा वृद्धि, टूल विवरण इंजेक्शन, SSRF |
| `owasp-api` | OWASP API सुरक्षा टॉप 10 | BOLA, BFLA, SQL इंजेक्शन |
| `eu-ai-act-bias` | EU AI अधिनियम — पूर्वाग्रह | आयु, लिंग, जाति, विकलांगता |
→ [पूर्ण मूल्यांकनकर्ता संदर्भ और OWASP मैपिंग](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/docs/evaluators.md)
## ट्रेस-जागरूक परीक्षण
Opfor को अपने ऑब्ज़र्वेबिलिटी स्टैक में प्लग करें और LLM निर्णायक न केवल अंतिम प्रतिक्रिया देखता है — बल्कि प्रत्येक टूल कॉल, पुनर्प्राप्ति और मध्यवर्ती तर्क चरण भी देखता है। बॉक्स से बाहर, opfor **[Langfuse](https://langfuse.com)** और **[Netra](https://getnetra.ai)** के साथ एकीकृत होता है।
```json
"telemetry": {
"provider": "langfuse",
"langfuse": { "baseUrl": "https://cloud.langfuse.com" }
}
```
यह पकड़ता है कि इनपुट/आउटपुट परीक्षण क्या चूकता है — PII जो टूल कॉल में लीक हो जाता है लेकिन उपयोगकर्ता तक कभी नहीं पहुँचता, MCP में दायरा वृद्धि जो प्रतिक्रिया पाठ को नहीं बदलती, एजेंट जो अनधिकृत डेटा पुनर्प्राप्त करते हैं लेकिन एक साफ उत्तर प्रस्तुत करते हैं।
→ [ट्रेस-जागरूक परीक्षण गाइड](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/docs/telemetry.md)
## स्वायत्त रेड-टीमिंग
`opfor hunt` कॉन्फ़िगरेशन फ़ाइल को पूरी तरह से छोड़ देता है। इसे एक एंडपॉइंट और एक उद्देश्य दें, और एक मल्टी-एजेंट सिस्टम — कमांडर, ऑपरेटर, स्काउट — अपने दम पर एक अनुकूली हमला अभियान चलाता है: टोही, रणनीति, मल्टी-टर्न प्रोबिंग, रिपोर्ट। `opfor run` के विपरीत, एजेंट केवल Claude पर चलते हैं (Claude API कुंजी, `claude setup-token`, या आपके स्थानीय `claude login` सत्र के माध्यम से) — आपका लक्ष्य कुछ भी हो सकता है।
```bash
opfor hunt \
--endpoint "https://your-agent.com/v1/chat" \
--objective "जेलब्रेक, सिस्टम-प्रॉम्प्ट लीकेज और सुरक्षा बाईपास खोजें।"
```
हमले के पेड़ को लाइव डैशबोर्ड में देखने के लिए `--ui` जोड़ें।
→ [पूर्ण संदर्भ](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/docs/hunt.md)
## ब्राउज़र एक्सटेंशन — एक चैटबॉट को रेड-टीम करें
ब्राउज़र एक्सटेंशन opfor का नो-कोड पथ है। Chrome वेब स्टोर से इंस्टॉल करें, कोई भी चैट इंटरफ़ेस खोलें, opfor आइकन पर क्लिक करें, एक सूट चुनें, और इसे चलते हुए देखें।
https://github.com/user-attachments/assets/80c2692f-b18b-4899-99df-e7eb8d50b02a
यह स्वचालित रूप से चैट इंटरफ़ेस का पता लगाता है, हमला प्रॉम्प्ट भेजता है जैसे आप टाइप कर रहे हों, प्रतिक्रियाओं की निगरानी करता है, और समाप्त होने पर एक HTML रिपोर्ट डाउनलोड करता है। कोई CLI नहीं, कोई लक्ष्य सेटअप नहीं, कोई YAML नहीं।
यह उन सभी उत्पाद टीम के सदस्यों के लिए मार्ग है जो टर्मिनल नहीं खोलते।
→ [Chrome वेब स्टोर से इंस्टॉल करें](https://chromewebstore.google.com/detail/blkflfeicejfnbecanjaolbllmoobenp) · [सेटअप गाइड](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/docs/browser-extension.md)
## SDK — रेड-टीमिंग को अपने कोड में एम्बेड करें
SDK opfor का प्रोग्रामेटिक पथ है। `@keyvaluesystems/agent-opfor-sdk` इंस्टॉल करें, `run` या `hunt` कॉल करें, और संरचित परिणाम वापस प्राप्त करें — कोई CLI नहीं, कोई कॉन्फ़िगरेशन फ़ाइल नहीं, कोई सबप्रोसेस नहीं।
```typescript
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 संदर्भ](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/docs/sdk.md)
## उदाहरण
| उदाहरण | विवरण |
| ----------------------------------------------------- | --------------------------------------------------------------- |
| [vanilla-chat](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/tests/e2e/agents/vanilla-chat) | सादा ग्राहक सहायता चैटबॉट — LLM-स्तर की कमजोरियों का परीक्षण करें |
| [customer-support](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/tests/e2e/agents/customer-support) | PostgreSQL के साथ टूल-कॉलिंग एजेंट — BOLA, BFLA, RBAC, PII का परीक्षण करें |
| [vulnerable-server](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/tests/e2e/mcp/vulnerable-server) | जानबूझकर कमजोरियों वाला नमूना MCP सर्वर |
## समर्थित LLM प्रदाता
| प्रदाता | Env var | डिफ़ॉल्ट मॉडल |
| ----------------- | ------------------------------ | ---------------------------------- |
| 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-संगत | `OPFOR_API_KEY` + `baseURL` | LiteLLM, OpenRouter, Azure, Ollama |
## योगदान
कृपया हमारे आचार संहिता और हमें पुल रिक्वेस्ट जमा करने की प्रक्रिया के विवरण के लिए [CONTRIBUTING.md](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/CONTRIBUTING.md) पढ़ें।
## लेखक
[KeyValue Software Systems](https://keyvalue.systems) की टीम द्वारा निर्मित। सभी पूछताछ के लिए [[email protected]](mailto:[email protected]) से संपर्क करें।
## सुरक्षा
Opfor का उपयोग केवल उन सिस्टम पर करें जिनके आप मालिक हैं या जिनका परीक्षण करने के लिए आपके पास अधिकार है। opfor में ही कमजोरी की रिपोर्ट करने के लिए, [SECURITY.md](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/SECURITY.md) देखें — सार्वजनिक मुद्दा न खोलें।
## लाइसेंस
Opfor Apache 2.0 के तहत लाइसेंस प्राप्त है — विवरण के लिए [LICENSE](https://github.com/keyvaluesoftwaresystems/agent-opfor/blob/master/LICENSE) फ़ाइल देखें।
---
<p align="center">
❤️ के साथ <a href="https://keyvalue.systems">KeyValue</a> द्वारा निर्मित
</p>