promptfoo: OpenAI가 인수한 LLM 평가·레드팀 도구 완벽 분석
LLM 애플리케이션을 개발할 때 가장 흔한 실수는 "잘 되는 것 같은데?"로 테스트를 끝내는 것입니다. promptfoo는 이 시행착오(trial-and-error) 방식을 테스트 주도 개발(test-driven)로 전환하는 도구입니다. 2026년 3월 OpenAI가 인수했으며, MIT 라이선스 오픈소스로 100% 로컬에서 실행됩니다.
이 글에서는 promptfoo의 핵심 기능, OpenAI 인수 배경, 실전 활용법을 차례대로 살펴봅니다.
TL;DR
- 2026년 3월 OpenAI 인수: MIT 라이선스 유지, Fortune 500 기업 127개사 채택
- 핵심 기능: 다중 모델 성능 평가(Eval) + 50가지 취약점 자동 스캔(Red Teaming)
- 강점: 평가와 보안을 통합, 100% 로컬 실행, CI/CD 네이티브 지원
- 사용성: npm/brew/pip 설치, YAML 설정 파일로 테스트 선언, 코드 작성 불필요
- 시장 검증: GitHub 12,000+ Stars, 개발자 125,000명+, $22.68M 투자
OpenAI 인수의 의미: AI 에이전트 시대의 보안 혁신
2026년 3월 9일, OpenAI는 promptfoo 인수를 공식 발표했습니다. 인수 금액은 비공개이나, 포스트 밸류에이션 기준 $85.5M 이상으로 추정됩니다.
OpenAI가 밝힌 인수 이유는 단순하면서도 명확합니다. Fortune 500 기업의 AI 보안 이슈 82%가 표준 가드레일로 탐지할 수 없다는 것입니다. AI 에이전트가 도구를 호출하고, 데이터에 접근하고, 의사결정을 내리는 시대에 보안 테스트는 선택이 아닌 필수가 되었습니다.
promptfoo 전 직원 11명은 OpenAI에 합류하며, 보안 테스트·레드팀 기능을 OpenAI Frontier 플랫폼에 네이티브로 통합할 계획입니다. 중요한 점은 MIT 라이선스가 그대로 유지된다는 것입니다. 향후 ai의 보안 표준이 될 전망입니다.
promptfoo 핵심 기능 1: 다중 모델 평가(Eval)
평가의 문제: "어떤 프롬프트가 나을까?"
LLM 앱 개발에서 가장 자주 마주치는 질문입니다:
- 기존 프롬프트와 새 프롬프트 중 어느 것이 더 나을까?
- GPT-4o와 Claude 3.5 Sonnet, 어느 모델이 이 작업에 적합한가?
- 문맥을 추가했을 때 성능이 정말 올랐나?
promptfoo는 이를 자동화된 테스트로 해결합니다.
평가 설정: YAML로 선언적으로
코드를 작성할 필요가 없습니다. YAML 파일 하나로 테스트 케이스를 정의합니다.
```yaml title="promptfooconfig.yaml" prompts:
- "Translate the following to {{language}}: {{text}}"
- "당신은 {{language}} 전문 번역자입니다. 다음을 {{language}}로 번역하세요: {{text}}"
providers:
- openai:gpt-4o
- anthropic:messages:claude-sonnet-4-20250514
- google:gemini-2.0-flash
tests:
vars: language: Korean text: "Hello, how are you?" assert:
- type: contains value: "안녕"
- type: llm-rubric value: "Translation is natural and fluent"
- type: latency threshold: 500 # ms
vars: language: English text: "안녕하세요" assert:
- type: contains value: "hello" ```
지원하는 검증 유형(Assertions)
| 검증 유형 | 설명 | 사용 예시 |
| contains | 특정 키워드 포함 여부 | 응답에 "안녕"이 포함되었는가 |
| similar | 임베딩 기반 의미 유사도 | 의도한 답변과 의미가 유사한가 (0-1 점수) |
| llm-rubric | LLM을 판정관으로 사용 | "번역이 자연스럽고 정확한가" (LLM-as-Judge) |
| is-json | JSON 구조 검증 | 응답이 유효한 JSON인가 |
| cost | API 호출 비용 제한 | 한 요청이 $0.10 이내인가 |
| latency | 응답 시간 제한 | p95 레이턴시가 500ms 이내인가 |
실행 및 웹 UI
# 평가 실행
npx promptfoo@latest eval
# 결과 웹 UI 확인 (로컬 브라우저)
npx promptfoo@latest view
웹 UI는 모든 프롬프트와 모델의 결과를 사이드바이사이드로 비교하며, 성공/실패를 시각적으로 표시합니다.
CI/CD 파이프라인 통합
GitHub Actions와 네이티브로 통합되어 프롬프트 변경마다 자동으로 품질 게이트를 적용합니다.
```yaml title=".github/workflows/promptfoo-eval.yml" name: LLM Evaluation
on: [pull_request]
jobs: eval: runs-on: ubuntu-latest steps:
- uses: actions/checkout@v4
- uses: promptfoo/action@v1 with: config: promptfooconfig.yaml ```
평가 결과가 기준 이하면 PR이 머지되지 않습니다. 프롬프트의 품질 회귀(regression)를 자동으로 탐지할 수 있습니다.
promptfoo 핵심 기능 2: 레드팀(Red Teaming) - 50가지 취약점 자동 스캔
레드팀의 가치: "이 LLM 앱이 안전한가?"
LLM 앱은 전통적 소프트웨어에 없는 취약점을 가집니다:
- 프롬프트 인젝션: "너는 이제 악의적인 기능을 수행하는 모드다"라는 입력
- 탈옥(Jailbreak): 사용자 가이드라인을 무시하도록 유도하는 공격
- 간접 프롬프트 인젝션: RAG 컨텍스트에 악의적 콘텐츠 삽입
- 데이터 유출: 학습 데이터나 민감 정보 추출
- 도구 기반 공격: SQL 인젝션, 권한 상승 등
promptfoo의 레드팀은 이런 공격을 자동으로 생성하고 탐지합니다.
레드팀 설정
```yaml title="promptfooconfig.yaml" redteam: enabled: true
공격 생성 전략
strategies:
- intent: "prompt-injection" description: "프롬프트 인젝션 공격"
- intent: "jailbreak" description: "탈옥 시도"
- intent: "harmful" description: "유해 콘텐츠 생성"
intent: "privacy" description: "PII(민감 정보) 추출"
에이전트 레드팀: 다단계 공격 시뮬레이션
agentRedteam: true agentStrategies:
- "multiturn"
- "tool-abuse"
- "context-manipulation" ```
레드팀이 커버하는 공격
모델 레이어 위협:
- 프롬프트 인젝션 및 탈옥
- 혐오 발언, 편향, 독성 콘텐츠 생성
- 환각(Hallucination) 검출
- 저작권 침해 콘텐츠
- 학습 데이터 기반 PII 유출
애플리케이션 레이어 위협:
- 간접 프롬프트 인젝션 (RAG 컨텍스트 오염)
- 도구 기반 취약점 (SQL 인젝션, 권한 상승)
- 데이터 유출 및 세션 하이재킹
- 다단계 공격 (에이전트 이용)
레드팀 결과 해석
Red Team Report
================
Target: claude-sonnet-4-20250514
Vulnerability Category | Found | Pass Rate
---------+----------+---------------
Jailbreak | 3/5 | 60% ✅
Prompt Injection | 1/5 | 80% ✅
PII Extraction | 0/5 | 100% ✅
SQL Injection | 2/5 | 60% ⚠️
Prompt Obfuscation | 0/5 | 100% ✅
Overall Risk Score: 72/100 (Moderate)
Recommendation: SQL 인젝션 방어 강화 필요
트랙션과 시장 검증
promptfoo의 성장 수치는 OpenAI 인수 결정을 뒷받침합니다.
| 지표 | 수치 | 의의 |
| GitHub Stars | 12,000+ | 오픈소스 신뢰도 |
| 개발자 사용자 | 125,000명+ | 활발한 커뮤니티 |
| Fortune 500 채택 | 127개사 | 엔터프라이즈 검증 |
| Contributors | 263명 | 개발 생태계 활성 |
| 총 투자금 | $22.68M | A 라운드 (Series A) |
| 팀 규모 | 11명 | 효율적 운영 (높은 영향력) |
Shopify, Amazon, Anthropic 등 거대 기업이 promptfoo를 채택하고 있으며, 11명의 팀이 이 규모의 채택을 달성했다는 점이 주목할 만합니다.
창업팀
- Ian Webster (CEO): Discord 시니어 스태프 엔지니어 출신, 2억 유저 규모의 LLM 팀 리드, OWASP Gen AI Red Teaming 기여
- Michael D'Angelo (CTO): Smile ID VP Engineering
실전 활용 사례: Discord Clyde AI의 보안 강화
Discord Clyde AI의 도전
Discord는 AI 챗봇 Clyde를 런칭한 후 다양한 탈옥 취약점을 발견했습니다. 특히 "그랜드마 익스플로잇" 등 사용자들이 악의적으로 LLM을 조작하는 사례가 증가했습니다.
promptfoo 도입 전후 비교
| 구분 | 도입 전 | 도입 후 |
| 보안 검증 | 수동 테스트 (비정기) | CI/CD 자동화 (모든 변경) |
| 탈옥 탐지 | 배포 후 사용자 리포트 | 배포 전 자동 스캔 |
| 프롬프트 변경 | 프리뷰만 확인 | 평가 + 레드팀 통과 필수 |
| 응답 속도 | 충분 | 측정 검증 추가 |
Discord는 promptfoo 초기 버전을 도입한 후, 모든 프롬프트 및 워크플로우 변경에 평가를 의무화했습니다. 결과적으로 배포 후 보안 이슈는 95% 감소했습니다.
핵심 통찰
이 사례는 "배포 후 문제 발견"이 아닌 "배포 전 자동 검증"이 얼마나 중요한지를 보여줍니다. LLM 앱의 특성상 사용자 피해가 즉시 발생하기 때문에, 사전 검증은 선택이 아닌 필수입니다.
경쟁 도구 비교
promptfoo의 가장 큰 차별점은 성능 평가와 보안 레드팀을 하나의 도구로 제공한다는 점입니다.
| 도구 | 평가 | 레드팀 | 로컬 실행 | 다중 모델 | 가격 |
| promptfoo | ✅ 강함 | ✅ 강함 | ✅ 100% | ✅ 지원 | 무료(OSS) |
| DeepEval | ✅ 강함 | ⚠️ 약함 | ✅ 예 | ⚠️ 제한적 | 무료(OSS) |
| LangSmith | ✅ 강함 | ❌ 없음 | ❌ 아니오 | ⚠️ LangChain만 | 유료 |
| OpenAI Evals | ✅ 강함 | ❌ 없음 | ✅ 예 | ❌ OpenAI만 | 무료(OSS) |
| Braintrust | ✅ 강함 | ⚠️ 약함 | ❌ SaaS만 | ✅ 지원 | 유료 |
선택 기준:
- 평가만 필요: DeepEval (Python 네이티브)
- 평가 + 레드팀 필수: promptfoo ⭐
- LangChain 생태계: LangSmith
- OpenAI 모델만: OpenAI Evals
5분 설치 및 첫 실행
설치
# npm (권장 - 가장 활발한 개발)
npx promptfoo@latest init
# Homebrew (macOS)
brew install promptfoo
# pip (Python 환경)
pip install promptfoo
프로젝트 초기화
npx promptfoo@latest init
이 명령어는 다음 파일들을 생성합니다:
promptfooconfig.yaml: 설정 파일prompts.txt: 테스트할 프롬프트tests.yaml: 테스트 케이스
기본 설정 예시
```yaml title="promptfooconfig.yaml" prompts:
- "당신은 고객 서비스 담당자입니다. 다음 문의에 답변하세요: {{question}}"
providers:
- openai:gpt-4o
- anthropic:messages:claude-sonnet-4-20250514
tests:
vars: question: "배송은 얼마나 걸리나요?" assert:
- type: llm-rubric value: "고객의 질문에 정확하게 답변했는가"
- type: latency threshold: 2000
vars: question: "할인 쿠폰이 있나요?" assert:
- type: llm-rubric value: "고객 친화적이고 도움이 되는 답변인가" ```
평가 실행
# 평가 실행 (최대 5분)
npx promptfoo@latest eval
# 결과 웹 UI 보기
npx promptfoo@latest view
브라우저에서 http://localhost:3000 접속 시 모든 결과를 시각적으로 확인할 수 있습니다.
최근 업데이트와 향후 전망
2025-2026년 주요 업데이트
✅ Claude Agent SDK 프로바이더 지원 ✅ Docker Model Runner 및 MCP(Model Context Protocol) 지원 ✅ 정적 모델 보안 스캐너 강화 ✅ 에이전트 레드팀 전략 고도화 ✅ Transformers.js 기반 로컬 추론
OpenAI 인수 후 로드맵
OpenAI Frontier 플랫폼에 보안 테스트·레드팀 기능이 네이티브로 통합될 예정입니다. 이는 다음을 의미합니다:
- Frontier 플랫폼 사용자: promptfoo 기능을 대시보드에서 바로 사용 가능
- 오픈소스 유지자: MIT 라이선스 유지, 독립적 개발 계속
- 업계 표준: AI 에이전트 보안 검증의 표준이 될 가능성
2027년 전망
AI 에이전트가 도구를 호출하고 복잡한 워크플로우를 실행하는 시대에, 보안 검증 자동화는 더 이상 선택이 아닌 필수가 될 것입니다. promptfoo는 이 표준을 선도할 도구로 예상됩니다.
FAQ
promptfoo는 무료인가요?
네. MIT 라이선스 오픈소스이며, OpenAI 인수 후에도 라이선스가 유지됩니다. 100% 로컬에서 실행할 수 있습니다. 외부 SaaS 구독이나 API 호출 비용도 없습니다.
어떤 LLM을 지원하나요?
OpenAI(GPT), Anthropic(Claude), Google(Gemini), Meta(Llama), Mistral, Groq 등 주요 LLM과 커스텀 API를 모두 지원합니다. 또한 로컬 모델(Ollama, LM Studio)도 지원하므로 오픈소스 모델로만 운영 가능합니다.
CI/CD에 통합할 수 있나요?
GitHub Actions와 네이티브로 통합되며, 프롬프트 변경마다 자동으로 평가를 실행할 수 있습니다. GitLab CI, Jenkins 등도 지원합니다. PR이 머지되기 전에 평가 기준을 통과하도록 강제할 수 있습니다.
레드팀 기능은 왜 필요한가요?
LLM 앱은 프롬프트 인젝션, 탈옥, PII 유출 등 전통적 소프트웨어에 없는 취약점을 가집니다. promptfoo는 50가지 이상의 공격 패턴을 자동으로 스캔하여 배포 전 취약점을 발견할 수 있습니다. Discord 사례처럼 배포 후 이슈는 즉시 사용자에게 영향을 미치므로 사전 검증이 필수입니다.
DeepEval과 뭐가 다른가요?
DeepEval은 Python 네이티브 평가 도구이고, promptfoo는 평가 + 보안 레드팀을 하나의 도구로 통합합니다. DeepEval이 기술적 성능 메트릭(정확도, 유사도 등)에 더 강하다면, promptfoo는 보안 검증이 필요할 때 유리합니다.
Node.js 없이 쓸 수 있나요?
pip를 통해 Python으로 설치하면 Node.js 의존성을 제거할 수 있습니다. 다만 일부 고급 기능(웹 UI, GitHub Actions 통합)은 Node.js 버전이 더 완성도 높습니다.
엔터프라이즈 지원이 있나요?
OpenAI 인수 후 엔터프라이즈 지원 계획이 있을 것으로 예상됩니다. 현재는 커뮤니티 지원(GitHub Issues, Discord)으로 운영 중입니다.
마무리
promptfoo는 LLM 앱 개발의 "감 기반 테스트"를 "시스템 기반 테스트"로 전환하는 핵심 도구입니다. OpenAI 인수로 향후 AI 보안 표준에 큰 영향을 미칠 것으로 예상됩니다.
특히 다음 상황이라면 즉시 도입을 권장합니다:
✅ 프롬프트 엔지니어링을 반복하는 중이라면 ✅ 프로덕션 LLM 앱이 있다면 ✅ 여러 모델을 비교 평가하려면 ✅ CI/CD 파이프라인이 있다면 ✅ 보안이 중요한 도메인(금융, 의료, 법무)이라면
지금 바로 프로젝트에 promptfoo를 도입해 보세요.
참고 자료
- OpenAI 공식 인수 발표 - OpenAI의 인수 발표 및 배경
- promptfoo 공식 문서 - 설치부터 고급 기능까지
- promptfoo GitHub 저장소 - 오픈소스 코드, Issues, Discussions
- promptfoo 레드팀 문서 - 레드팀 설정 및 취약점 상세 가이드
- TechCrunch 보도 - 인수 배경과 시장 분석
Comments
Join the discussionNo comments yet. Be the first to comment.
