업데이트로 돌아가기
New releaseJul 20, 2026

agent-opfor v0.10.1

AI 에이전트 및 MCP 서버를 위한 오픈소스 적대자 모의

공유

OPFOR

AI 에이전트, LLM 앱, MCP 서버를 위한 오픈소스 적대자 에뮬레이션입니다.
실제 공격자가 하는 것처럼 AI를 테스트하세요 — CLI, IDE, 또는 팀의 누구나 사용할 수 있는 브라우저 확장에서.

License: Apache 2.0 GitHub stars Discord OWASP coverage

KeyValueSoftwareSystems%2Fagent-opfor | Trendshift

웹사이트 · 문서 · GitHub · 브라우저 확장 · Discord

OPFOR는 Opposition Force (반군)의 약자로, 군사 훈련에서 적군 역할을 수행하는 부대를 가리키는 용어입니다. 실제 공격이 오기 전에 그것이 어떤 느낌인지 나머지 군대가 배울 수 있도록 말이죠. 우리는 이 아이디어에서 도구 이름을 따왔습니다: AI 에이전트를 더 잘 방어하려면, 먼저 공격해야 합니다.

OPFOR 작동 방식

왜 우리가 이것을 만들었나

지난 10년 동안 우리는 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가 하는 일

Opfor는 AI 에이전트의 전체 표면 — 프롬프트, 도구, MCP 서버, 메모리, 다중 턴 추론 — 을 레드팀(red-team)합니다. OWASP LLM Top 10, OWASP Agentic AI Top 10, OWASP MCP Top 10, OWASP API Security, EU AI Act 편향(bias) 제품군에 대한 표적 공격을 생성하고, 이를 대상에 발사한 후 LLM으로 각 응답을 평가합니다.

이 분야의 대부분의 레드팀 도구는 한 가지 — 프로브 라이브러리, 개발자 평가기, 프로그래매틱 프레임워크 — 에 탁월합니다. Opfor는 하나의 도구로 더 많은 영역을 다룹니다:

  • 비개발자용 브라우저 확장 — 팀의 누구나 배포된 챗봇을 레드팀할 수 있으며, 코드, 환경 변수, YAML이 필요 없습니다
  • opfor를 MCP 서버로 실행 — Cursor 또는 Claude Desktop에서 AI 코딩 에이전트가 자연어를 통해 다른 에이전트들을 레드팀하게 하세요
  • 하나의 도구로 전체 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 서버Cursor 또는 Claude Desktop에 opfor를 등록한 후 채팅에서 요청하세요다른 에이전트를 테스트하는 AI 코딩 에이전트
Skills/opfor-setup · /opfor-run · /opfor-mcp-setup · /opfor-mcp-runIDE 내에서 한 번의 명령으로 테스트하려는 개발자
📦 SDKnpm install @keyvaluesystems/agent-opfor-sdk, 그 다음 코드에서 run / hunt 호출프로그래매틱 레드팀 및 사용자 정의 워크플로

다섯 가지 모두 동일한 평가기, 공격 템플릿, 판정 로직을 공유합니다.

CLI 참조 · 브라우저 확장 설정 · MCP 설정 · Skills 설정 · SDK 참조 · 세션 처리

작동 방식

opfor run 중에 일어나는 일

스캔을 실행하면 opfor는:

  1. 대상 정보를 가져옵니다 — 에이전트에 연결하여 사용 가능한 도구, MCP 엔드포인트, 기능을 감지합니다
  2. 카테고리별로 공격을 계획합니다 — 선택한 제품군의 각 평가기에 대해 표적화된 프롬프트를 생성합니다
  3. 공격을 에뮬레이트합니다 — 다중 턴 적대적 대화(실제 요청, 실제 응답)를 실행합니다
  4. 판정기로 평가합니다 — LLM 판정기가 각 응답을 pass/fail + 근거와 함께 분류합니다
  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는 산업 표준에 매핑된 큐레이팅된 제품군을 제공합니다. 제품군을 선택하거나 개별 평가기를 실행하세요.

제품군 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 — 편향연령, 성별, 인종, 장애

전체 평가기 참조 및 OWASP 매핑

추적 인식 테스트

opfor를 관찰 가능성 스택에 연결하면 LLM 판정기가 최종 응답뿐만 아니라 모든 도구 호출, 검색, 중간 추론 단계를 볼 수 있습니다. 바로 사용 가능하게 opfor는 LangfuseNetra 와 통합됩니다.

"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 웹 스토어에서 설치하고, 채팅 인터페이스를 열고, opfor 아이콘을 클릭하고, 제품군을 선택하고, 실행하는 것을 지켜보세요.

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

채팅 인터페이스를 자동으로 감지하고, 사용자가 직접 입력하는 것처럼 공격 프롬프트를 전송하며, 응답을 관찰하고, 완료되면 HTML 보고서를 다운로드합니다. CLI, 대상 설정, YAML이 필요 없습니다.

이것은 터미널을 열지 않는 모든 제품 팀의 절반을 위한 경로입니다.

Chrome 웹 스토어에서 설치 · 설정 가이드

SDK — 코드에 레드팀을 포함

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-supportPostgreSQL을 사용하는 도구 호출 에이전트 — 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를 읽어주세요.

 

저자

KeyValue Software Systems 팀이 만들었습니다. 모든 문의는 [email protected]로 연락주세요.

 

보안

opfor를 소유하고 있거나 테스트할 권한이 있는 시스템에서만 사용하세요. opfor 자체의 취약점을 신고하려면 SECURITY.md를 참조하세요 — 공개 이슈를 열지 마세요.

 

라이선스

Opfor는 Apache 2.0에 따라 라이선스가 부여됩니다 — 자세한 내용은 LICENSE 파일을 참조하세요.


KeyValue가 ❤️로 만들었습니다

카테고리