Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
redeval — [ICLR 2026] - 논문 공식 저장소: "RedBench: 대규모 언어 모델의 포괄적 레드 티밍을 위한 범용 데이터셋" | Kitploit
도구/GitHubGitHub/knoveleng/redeval
Papers & ResearchLearning & EducationCurated ResourcesAI SecurityAdversarial Attack
GitHubknoveleng/redeval

redeval

[ICLR 2026] - 논문 공식 저장소: "RedBench: 대규모 언어 모델의 포괄적 레드 티밍을 위한 범용 데이터셋"

저장소 보기
2945개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

RedEval - LLM 안전성 평가 프레임워크

Python 3.8+ License: MIT Dataset on HF

체계적인 공격(attack) 및 거부(refusal) 테스트를 통해 대규모 언어 모델(LLM)의 안전성을 평가하기 위한 포괄적인 프레임워크입니다. RedEval은 적대적 프롬프트와 유해 콘텐츠에 대한 LLM의 견고성을 평가하기 위한 통합되고 안전하며 확장 가능한 플랫폼을 제공합니다. 이는 LLM의 종합적인 레드팀링(red teaming)을 위한 범용 데이터셋인 논문 "RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models"의 일부입니다.

📦 데이터셋: RedBench 데이터셋은 HuggingFace의 knoveleng/redbench에서 공개적으로 제공됩니다. 여러 안전 카테고리와 도메인에 걸친 포괄적인 레드팀링 프롬프트가 포함되어 있습니다.

🚀 빠른 시작

1. 환경 설정

root@kitploit:~
# Clone the repository
git clone https://github.com/knoveleng/redeval.git
cd redeval

# Install dependencies
pip install -r requirements.txt

# Copy and configure environment variables
cp .env.template .env
# Edit .env with your API keys

2. API 키 구성

.env 파일에 자격 증명을 입력하세요:

root@kitploit:~
OPENAI_API_KEY=your_openai_api_key_here
HUGGINGFACE_TOKEN=your_huggingface_token_here

3. 평가 실행

root@kitploit:~
# Set up environment
source ./sh/setup_env.sh

# Run with default models, you can edit .env to define models which you wanna run
python -m redeval.cli run-pipeline

# Run complete pipeline with specific models
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"

# Or run individual phases
./sh/generate_attack.sh
./sh/run_attack.sh
./sh/eval_attack.sh

📋 목차

  • 개요
  • 아키텍처
  • 설치
  • 구성
  • 사용법
  • 보안 기능
  • API 참조
  • 기여
  • 라이선스

🎯 개요

RedEval은 두 가지 상호 보완적 접근 방식을 통해 LLM 안전성을 평가합니다:

🔴 공격(Attack) 단계

다양한 탈옥(jailbreaking) 기법을 사용하여 적대적 프롬프트에 대한 LLM 취약성을 테스트합니다:

  • 직접 공격: 직접적인 유해 프롬프트
  • 인간 탈옥(Human jailbreaks): 인간이 제작한 우회 기법
  • 제로샷 공격: 자동화된 적대적 프롬프트 생성

🛡️ 거부(Refuse) 단계

여러 안전 데이터셋에 걸쳐 유해한 요청을 적절히 거부하는 LLM의 능력을 평가합니다:

  • CoCoNot: 컨텍스트 인식 콘텐츠 모더레이션
  • SGXSTest: 안전 가이드라인 검사
  • XSTest: 교차 도메인 안전 테스트
  • ORBench: 객관적 거부 벤치마킹

📊 점수 산출

공격 및 거부 성능을 결합한 종합적인 안전 메트릭을 계산합니다.

🏗️ 아키텍처

핵심 구성 요소

root@kitploit:~
redeval/
├── redeval/                 # Core Python modules
│   ├── config.py           # Environment & configuration management
│   ├── pipeline.py         # Centralized pipeline orchestrator
│   ├── cli.py              # Unified command-line interface
│   ├── exceptions.py       # Custom exception handling
│   ├── generate_attack.py  # Attack prompt generation
│   ├── run_attack.py       # Attack execution
│   ├── eval_attack.py      # Attack evaluation
│   ├── run_refuse.py       # Refusal testing
│   ├── eval_refuse.py      # Refusal evaluation
│   └── score.py            # Metric calculation
├── sh/                     # Shell script interfaces
│   ├── setup_env.sh        # Environment setup
│   ├── generate_attack.sh  # Attack generation script
│   ├── run_attack.sh       # Attack execution script
│   ├── eval_attack.sh      # Attack evaluation script
│   ├── run_refuse.sh       # Refusal testing script
│   ├── eval_refuse.sh      # Refusal evaluation script
│   └── score.sh            # Scoring script
├── recipes/                # Configuration files
├── logs/                   # Evaluation results
└── .env                    # Environment variables

평가 파이프라인

root@kitploit:~
graph TD
    A[Generate Attack Prompts] --> B[Run Attack Tests]
    B --> C[Evaluate Attack Results]
    D[Run Refuse Tests] --> E[Evaluate Refuse Results]
    C --> F[Calculate Final Scores]
    E --> F
    F --> G[Generate Reports]

🛠️ 설치

사전 요구 사항

  • Python 3.8 이상
  • OpenAI API 키
  • HuggingFace 토큰
  • Git

단계별 설치

  1. 저장소 클론

    root@kitploit:~
    git clone <repository-url>
    cd redeval
    
  2. 의존성 설치

    root@kitploit:~
    pip install -r requirements.txt
    
  3. 환경 구성

    root@kitploit:~
    cp .env.template .env
    # Edit .env with your API credentials
    
  4. 설치 확인

    root@kitploit:~
    python -m redeval.cli --help
    

⚙️ 구성

환경 변수

RedEval은 안전하고 유연한 구성을 위해 환경 변수를 사용합니다:

필수 변수

변수설명예시
OPENAI_API_KEYOpenAI API 키sk-proj-...
HUGGINGFACE_TOKENHuggingFace 토큰hf_...

선택적 구성

모델 구성

변수설명기본값
REDEVAL_OPEN_SOURCE_MODELS오픈소스 모델 목록"Qwen/Qwen2.5-7B-Instruct"
REDEVAL_CLOSED_SOURCE_MODELS클로즈드소스 모델 목록"gpt-4o-mini"

구성 파일

recipes/ 디렉터리의 구성 파일은 평가 매개변수를 제어합니다:

  • attack/base-open.yml - 오픈소스 모델 공격 구성
  • attack/base-close.yml - 클로즈드소스 모델 공격 구성
  • attack/eval.yml - 공격 평가 구성
  • refuse/base-open.yml - 오픈소스 모델 거부 구성
  • refuse/base-close.yml - 클로즈드소스 모델 거부 구성
  • refuse/eval.yml - 거부 평가 구성

🚀 사용법

명령줄 인터페이스

RedEval은 모든 작업을 위한 통합 CLI를 제공합니다:

전체 파이프라인

root@kitploit:~
# Run full evaluation pipeline
python -m redeval.cli run-pipeline

# Run with specific models
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"

# Run specific phases only
python -m redeval.cli run-pipeline --phases generate_attack run_attack eval_attack

개별 구성 요소

root@kitploit:~
# Generate attack prompts
python -m redeval.cli generate-attack --config ./recipes/attack/base-close.yml

# Run attack evaluation
python -m redeval.cli run-attack --config ./recipes/attack/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"

# Evaluate attack results
python -m redeval.cli eval-attack --config ./recipes/attack/eval.yml --log-dir ./logs/attack/HarmBench/direct/model_name

# Run refusal tests
python -m redeval.cli run-refuse --config ./recipes/refuse/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"

# Evaluate refusal results
python -m redeval.cli eval-refuse --config ./recipes/refuse/eval.yml --log-dir ./logs/refuse/CoCoNot/base/model_name

# Calculate scores
python -m redeval.cli score --log-dir ./logs/attack/HarmBench/direct/model_name --keyword "unsafe"

셸 스크립트 인터페이스

셸 스크립트를 선호하는 사용자를 위한 인터페이스:

root@kitploit:~
# Set up environment (run first)
source ./sh/setup_env.sh

# Run evaluation phases
./sh/generate_attack.sh    # Generate attack prompts
./sh/run_attack.sh         # Execute attacks
./sh/eval_attack.sh        # Evaluate attack results
./sh/run_refuse.sh         # Run refusal tests
./sh/eval_refuse.sh        # Evaluate refusal results
./sh/score.sh              # Calculate final scores

Python API

프로그래밍 방식 액세스를 위한 인터페이스:

root@kitploit:~
from redeval.pipeline import PipelineOrchestrator, PipelinePhase
from redeval.config import EnvironmentConfig

# Initialize configuration
config = EnvironmentConfig.from_env()

# Create pipeline orchestrator
orchestrator = PipelineOrchestrator(config)

# Run complete pipeline
orchestrator.run_complete_pipeline()

# Run specific phases
orchestrator.run_phase(PipelinePhase.GENERATE_ATTACK)
orchestrator.run_phase(PipelinePhase.RUN_ATTACK)

🔒 보안 기능

✅ 안전한 자격 증명 관리

  • 소스 코드에 하드코딩된 API 키 없음
  • 환경 변수 기반 구성
  • 검증 기능이 포함된 .env 파일 지원
  • HuggingFace 인증을 위한 안전한 토큰 처리

✅ 입력 검증

  • 시작 시 환경 변수 검증
  • 구성 파일 검증
  • 모델 이름 및 매개변수 검증

✅ 오류 처리

  • 다양한 오류 유형에 대한 사용자 정의 예외 클래스
  • 포괄적인 오류 로깅
  • 우아한 실패 처리

✅ 모범 사례

  • 최소 권한 원칙
  • 안전한 기본값
  • 민감한 데이터 노출 없는 포괄적 로깅

📚 API 참조

CLI 명령어

run-pipeline

전체 평가 파이프라인 또는 특정 단계를 실행합니다.

옵션:

  • --models: 평가할 모델 목록
  • --phases: 실행할 특정 단계
  • --config-dir: 구성 디렉터리 경로
  • --log-dir: 로그 출력 디렉터리

generate-attack

적대적 공격 프롬프트를 생성합니다.

옵션:

  • --config: 구성 파일 경로
  • --num-samples: 생성할 샘플 수
  • --seed: 재현을 위한 랜덤 시드

run-attack

대상 모델에 대한 공격 평가를 실행합니다.

옵션:

  • --config: 구성 파일 경로
  • --model: 대상 모델 이름
  • --num-samples: 처리할 샘플 수

eval-attack

심사(judge) 모델을 사용하여 공격 결과를 평가합니다.

옵션:

  • --config: 구성 파일 경로
  • --log-dir: 공격 로그가 포함된 디렉터리

run-refuse

거부 능력 테스트를 실행합니다.

옵션:

  • --config: 구성 파일 경로
  • --model: 대상 모델 이름
  • --num-samples: 테스트할 샘플 수
  • --split: 사용할 데이터셋 분할

eval-refuse

거부 테스트 결과를 평가합니다.

옵션:

  • --config: 구성 파일 경로
  • --log-dir: 거부 로그가 포함된 디렉터리

score

평가 결과에서 안전 점수를 계산합니다.

옵션:

  • --log-dir: 평가 로그가 포함된 디렉터리
  • --keyword: 결과에서 검색할 키워드

Python API 클래스

PipelineOrchestrator

중앙 집중식 파이프라인 관리.

메서드:

  • run_complete_pipeline(): 전체 평가 파이프라인 실행
  • run_phase(phase): 특정 파이프라인 단계 실행
  • get_phase_status(phase): 파이프라인 단계 상태 확인

EnvironmentConfig

환경 및 구성 관리.

메서드:

  • from_env(): 환경 변수에서 구성 로드
  • validate(): 구성 완전성 검증
  • setup_logging(): 로깅 시스템 구성

🤝 기여

개발 환경 설정

  1. 포크 및 클론

    root@kitploit:~
    git clone https://github.com/knoveleng/redeval.git
    cd redeval
    
  2. 개발 환경 생성

    root@kitploit:~
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    pip install -r requirements.txt
    
  3. Pre-commit 훅 설정

    root@kitploit:~
    pip install pre-commit
    pre-commit install
    

기여 지침

  • 보안 우선: API 키 또는 민감한 데이터를 커밋하지 마세요
  • 환경 변수: 모든 구성에 환경 변수 사용
  • 오류 처리: 사용자 정의 예외로 적절한 오류 처리 추가
  • 문서화: 새로운 기능에 대한 문서 업데이트
  • 테스트: 새로운 기능에 대한 테스트 추가
  • 하위 호환성: 기존 인터페이스와의 호환성 유지

코드 스타일

  • Python 코드는 PEP 8 준수
  • 적절한 위치에 타입 힌트 사용
  • 포괄적인 독스트링 추가
  • 일관된 로깅 패턴 유지

📄 라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다 - 자세한 내용은 LICENSE 파일을 참조하세요.

📚 인용

이 프로젝트가 유용하다고 생각되면 연구에 인용해 주시기 바랍니다:

root@kitploit:~
@inproceedings{
   dang2026redbench,
   title={RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models},
   author={Quy-Anh Dang and Chris Ngo and Truong-Son Hy},
   booktitle={ICLR 2026 Workshop on Principled Design for Trustworthy AI - Interpretability, Robustness, and Safety across Modalities},
   year={2026},
   url={https://openreview.net/forum?id=7pZXyk0d07}
}
도구 다운로드
변수설명기본값
REDEVAL_PROJECT_ROOT프로젝트 루트 디렉터리현재 디렉터리
REDEVAL_LOG_DIR로그 디렉터리./logs
REDEVAL_RECIPES_DIR구성 디렉터리./recipes
REDEVAL_LOG_LEVEL로깅 수준INFO
REDEVAL_NUM_SAMPLES평가 샘플 수10
REDEVAL_SEED랜덤 시드0