Назад к обновлениям
New releaseJul 20, 2026

agent-opfor v0.10.1

Эмуляция противодействия с открытым исходным кодом для AI-агентов и MCP-серверов.

Поделиться

OPFOR

Эмуляция противника с открытым исходным кодом для AI-агентов, LLM-приложений и MCP-серверов.
Тестируйте свой ИИ как настоящий атакующий — из CLI, IDE или расширения браузера, которым может пользоваться любой участник вашей команды.

License: Apache 2.0 GitHub stars Discord OWASP coverage

KeyValueSoftwareSystems%2Fagent-opfor | Trendshift

Веб-сайт · Документация · GitHub · Расширение браузера · Discord

OPFOR расшифровывается как Opposition Force — военный термин, обозначающий подразделение, которое на учениях играет роль противника, чтобы остальная армия узнала, каково это — столкнуться с настоящей атакой до того, как она произойдет. Мы назвали инструмент в честь этой идеи: чтобы лучше защищать ИИ-агентов, нужно сначала атаковать их.

Как работает OPFOR

Зачем мы это создали

За последние десять лет мы выпустили 130 продуктов для 90 стартапов. За последние 18 месяцев почти каждый из них содержал ИИ-агента — и каждая команда упиралась в одну и ту же стену, когда дело доходило до тестирования.

Поэтому мы построили 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

Opfor проверяет полную поверхность ИИ-агента — промпты, инструменты, MCP-серверы, память и многошаговые рассуждения. Он генерирует целевые атаки на основе OWASP LLM Top 10, OWASP Agentic AI Top 10, OWASP MCP Top 10, OWASP API Security и наборов предвзятости EU AI Act, отправляет их на вашу цель и оценивает каждый ответ с помощью LLM.

Большинство инструментов red-teaming в этой области отлично справляются с одной задачей — библиотека зондов, средство оценки для разработчиков, программный фреймворк. Opfor покрывает больше за один инструмент:

  • Расширение браузера для нетехнических специалистов — любой участник вашей команды может протестировать развернутого чат-бота, без кода, env vars и YAML
  • Запуск opfor как MCP-сервера — позвольте вашему ИИ-кодеру в Cursor или Claude Desktop атаковать ваших других агентов через естественный язык
  • Полное покрытие OWASP в одном инструменте — LLM Top 10, Agentic AI Top 10, MCP Top 10, API Security Top 10
  • Без чёрного ящика — каждый атакующий промпт, запрос, ответ и вердикт судьи логируются; воспроизводимо, проверяемо, форкаемо
  • Создано для агентов, а не только для моделей — с самого начала спроектировано для вызовов инструментов, MCP, памяти и многошагового состояния
  • С поддержкой трассировки — интегрируется с Langfuse и Netra, чтобы LLM-судья видел, что ваш агент делал внутри, а не только то, что он сказал

Пять способов запустить opfor

Разные люди в вашей команде нуждаются в разных точках входа. Opfor предоставляет пять.

РежимКакДля кого
🖥️ CLIopfor setupopfor runИнженеры, CI/CD, терминал-ориентированные рабочие процессы
🌐 Расширение браузераУстановите расширение, нажмите на иконку в любом интерфейсе чатаПродукт-менеджеры, дизайнеры, QA, аналитики безопасности — все, кто не может или не хочет писать код
🤖 MCP-серверЗарегистрируйте opfor в Cursor или Claude Desktop, затем спрашивайте в чатеИИ-кодеры, тестирующие ваших других агентов
Skills/opfor-setup · /opfor-run · /opfor-mcp-setup · /opfor-mcp-runРазработчики, которые хотят тестировать одной командой внутри своей IDE
📦 SDKnpm install @keyvaluesystems/agent-opfor-sdk, затем вызывайте run / hunt из кодаПрограммное red-teaming и пользовательские рабочие процессы

Все пять используют одни и те же оценщики, шаблоны атак и логику судьи.

Справочник CLI · Настройка расширения браузера · Настройка MCP · Настройка Skills · Справочник SDK · Обработка сессий

Как это работает

Что происходит во время opfor run

Когда вы запускаете сканирование, opfor:

  1. Получает информацию о цели — подключается к вашему агенту, обнаруживает доступные инструменты, MCP-эндпоинты, возможности
  2. Планирует атаки по категориям — генерирует целевые промпты для каждого оценщика в выбранном наборе
  3. Эмулирует атаку — проводит многошаговые adversarial-диалоги (реальные запросы, реальные ответы)
  4. Оценивает с помощью судьи — LLM-судья классифицирует каждый ответ как пройден/не пройден с обоснованием
  5. Генерирует отчёт — HTML для просмотра, JSON для CI/CD, все артефакты логируются для воспроизводимости

Каждый запуск попадает в свою подпапку внутри .opfor/reports/run-report-<compactTs>-<slug>-<shortId>/, содержащую <slug>-report.html и <slug>-report.json. Автономные запуски opfor hunt используют ту же структуру в hunt-report-<compactTs>-<slug>-<shortId>/.

Охват оценщиков

Opfor поставляется с курируемыми наборами, соответствующими отраслевым стандартам. Выберите набор или запустите отдельные оценщики.

ID набораСтандартФокус
owasp-llm-top10OWASP LLM Top 10 (2025)Инъекции промптов, джейлбрейки, раскрытие конфиденциальной информации, утечка системного промпта
owasp-agentic-aiOWASP Agentic AI Top 10Чрезмерная автономия, неправильное использование инструментов, перехват цели агента, отравление памяти
owasp-mcp-top10OWASP MCP Top 10 (2025)Раскрытие секретов, эскалация области, инъекция описания инструментов, SSRF
owasp-apiOWASP API Security Top 10BOLA, BFLA, SQL-инъекции
eu-ai-act-biasEU AI Act — BiasВозраст, пол, раса, инвалидность

Полный справочник оценщиков и соответствие OWASP

Тестирование с поддержкой трассировки

Подключите opfor к вашему стеку observability, и LLM-судья увидит не только финальный ответ, но и каждый вызов инструмента, поиск и промежуточный шаг рассуждения. Из коробки opfor интегрируется с Langfuse и Netra.

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

Это позволяет выявить то, что упускает тестирование по вводу/выводу — PII, просачивающаяся в вызов инструмента, но не доходящая до пользователя, эскалации области в MCP, не изменяющие текст ответа, агенты, извлекающие неавторизованные данные, но выдающие чистый ответ.

Руководство по тестированию с трассировкой

Автономный Red-Teaming

opfor hunt полностью обходит файл конфигурации. Дайте ему эндпоинт и цель, и мультиагентная система — командир, операторы, разведчик — проведет адаптивную атакующую кампанию самостоятельно: разведка, стратегия, многошаговое зондирование, отчёт. В отличие от opfor run, агенты работают только на Claude (через API-ключ Claude, claude setup-token или вашу локальную сессию claude login) — ваша цель может быть любой.

opfor hunt \
  --endpoint "https://your-agent.com/v1/chat" \
  --objective "Найти джейлбрейки, утечки системного промпта и обходы безопасности."

Добавьте --ui, чтобы наблюдать за деревом атак в живом дашборде.

Полный справочник

Расширение браузера — red-teaming чат-бота

Расширение браузера — это путь opfor без кода. Установите из Chrome Web Store, откройте любой интерфейс чата, нажмите на иконку opfor, выберите набор и наблюдайте за работой.

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

Оно автоматически определяет интерфейс чата, отправляет атакующие промпты так, как будто вы их набираете, отслеживает ответы и загружает HTML-отчёт по завершении. Никакого CLI, настройки цели или YAML.

Это путь для половины каждой продуктовой команды, которая не открывает терминал.

Установить из Chrome Web Store · Руководство по настройке

SDK — встраивайте red-teaming в свой код

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, в тестовых наборах или везде, где нужен red-teaming без выхода из TypeScript.

Справочник SDK

Примеры

ПримерОписание
vanilla-chatПростой чат-бот поддержки — тестирование уязвимостей уровня LLM
customer-supportАгент с вызовом инструментов и PostgreSQL — тестирование BOLA, BFLA, RBAC, PII
vulnerable-serverПример MCP-сервера с намеренными уязвимостями

Поддерживаемые LLM-провайдеры

ПровайдерПеременная окруженияМодель по умолчанию
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
OpenAI-совместимыеOPFOR_API_KEY + baseURLLiteLLM, OpenRouter, Azure, Ollama

Участие в разработке

Пожалуйста, прочитайте CONTRIBUTING.md для получения информации о нашем кодексе поведения и процессе отправки pull request'ов.

 

Авторы

Создано командой KeyValue Software Systems. По всем вопросам обращайтесь по адресу [email protected].

 

Безопасность

Используйте opfor только на системах, которыми вы владеете или которые уполномочены тестировать. Чтобы сообщить об уязвимости в самом opfor, см. SECURITY.md — не открывайте публичный issue.

 

Лицензия

Opfor распространяется под лицензией Apache 2.0 — подробности в файле LICENSE.


Создано с ❤️ командой KeyValue

Категории