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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Rubrics-as-an-Attack-Surface — Rubric-Induced Preference Drift(RIPD) 연구 코드: LLM 심사자에서의 진화적 루브릭 탐색, 벤치마크 보존 선택, DPO 정책 정렬 오류 평가. | Kitploit
도구/GitHubGitHub/zdcslab/rubrics-as-an-attack-surface
Machine LearningPapers & ResearchLearning & EducationAI SecurityAdversarial Attack
GitHubzdcslab/rubrics-as-an-attack-surface

Rubrics-as-an-Attack-Surface

Rubric-Induced Preference Drift(RIPD) 연구 코드: LLM 심사자에서의 진화적 루브릭 탐색, 벤치마크 보존 선택, DPO 정책 정렬 오류 평가.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
6186개월 전아직 검토되지 않음

공격 표면으로서의 루브릭: LLM 심사자에서의 은밀한 선호 드리프트

📊 데이터셋  •  🤖 학습된 모델  •  📝 논문  •  💻 저장소

Teaser

이 저장소는 Ruomeng Ding*, Yifei Pang*, He Sun, Yizhong Wang, Steven Wu, Zhun Deng가 작성한 논문 공격 표면으로서의 루브릭: LLM 심사자에서의 은밀한 선호 드리프트의 코드를 포함하고 있습니다.

우리는 LLM 기반 평가 및 정렬 파이프라인에서의 루브릭 유발 선호 드리프트(Rubric-Induced Preference Drift, RIPD) 를 연구하며, 벤치마크 검증을 통과하는 루브릭 편집이 표준 지표로는 탐지하기 어려운 대상 도메인에서 체계적이고 방향성 있는 선호 드리프트를 유발할 수 있음을 보여줍니다. 또한 루브릭 기반 선호 공격을 시연하고, 그로 인한 편향이 하위 후속 학습(downstream post-training)을 통해 전파되어 지속적인 정책 오정렬(policy misalignment)을 초래하는 방식을 보여줍니다.

설정

  1. Rubrics-as-an-Attack-Surface 저장소를 클론합니다.
root@kitploit:~
    git clone https://github.com/ruomengd/Rubrics-as-an-Attack-Surface.git
    cd Rubrics-as-an-Attack-Surface
  1. 환경을 생성합니다.
root@kitploit:~
    conda create -n rubrics python=3.9
    conda activate rubrics
    pip install -r requirements.txt

데이터셋

우리는 다섯 개의 인간 선호 데이터셋(UltraFeedback, ChatbotArena, RMB, Anthropic hh-rlhf, PKU-SafeRLHF)을 사용하여 네 가지 벤치마크–대상 설정을 구성합니다: 유용성(helpfulness)을 위한 Ultra-Real과 Ultra-Creative(UltraFeedback → ChatbotArena), 그리고 무해성(harmlessness)을 위한 SafeRLHF–RMB와 Anthropic–SafeRLHF. 모든 데이터는 균일한 쌍별 선호 형식으로 변환됩니다. 벤치마크는 루브릭 보존을 강제하는 반면, 대상은 배포 관련 선호 드리프트를 측정하며, Ultra-Real과 Anthropic–SafeRLHF에 대해 하위 정책 실험을 수행합니다.

스크립트

전체 데이터 파이프라인(다운로드, 전처리, 필터링, 도메인 분할)은 다음으로 실행됩니다:

root@kitploit:~
sh ./scripts/dataset.sh

또는 Hugging Face에서 데이터를 직접 다운로드할 수 있습니다.

디렉터리 구조

파이프라인이 완료된 후의 디렉터리 레이아웃은 다음과 같습니다:

root@kitploit:~
data/
├── helpfulness/
│   ├── Ultra-Real/
│   │   ├── Ultra-Real-Bench/
│   │   │   ├── train.jsonl
│   │   │   ├── val.jsonl
│   │   │   └── test.jsonl
│   │   └── Ultra-Real-Target/
│   │       ├── train.jsonl
│   │       ├── val.jsonl
│   │       └── test.jsonl
│   └── ...
├── harmlessness/
│   ├── Anthropic-SafeRLHF/
│   │   ├── Anthropic-SafeRLHF-Bench/
│   │   │   ├── train.jsonl
│   │   │   ├── val.jsonl
│   │   │   └── test.jsonl
│   │   └── Anthropic-SafeRLHF-Target/
│   │       ├── train.jsonl
│   │       ├── val.jsonl
│   │       └── test.jsonl
│   └── ...

Bench vs. Target.
각 데이터셋 구성에서 Bench는 루브릭 개발 중에 사용되는 벤치마크 도메인을 나타내며, Target은 일반화와 선호 드리프트를 평가하는 데 사용되는 홀드아웃 배포 도메인을 나타냅니다. 루브릭 편집은 오직 Bench 도메인에서만 검증되며, Target 데이터를 사용하여 최적화되지 않습니다.

데이터 분할 및 용도.

  • train.jsonl: 루브릭 탐색 및 개선에 사용됩니다.
  • val.jsonl: 벤치마크 준수를 보장하기 위한 루브릭 선택에 사용됩니다.
  • test.jsonl: 루브릭 유발 선호 드리프트(RIPD) 평가에만 사용되며, 루브릭 편집 중에는 절대 접근되지 않습니다.

편향된 루브릭 탐색

루브릭 탐색 코드는 rubrics_search/search/ 아래에 있으며, 벤치마크를 보존하면서 대상에 편향된 루브릭 변형을 찾기 위한 개체군 기반 진화 절차를 구현합니다.

  1. main.py로 진화 탐색을 실행하여 후보 루브릭을 생성합니다.
  2. select_rubrics.py로 세대별 상위 k개를 선택합니다.
  3. 선택된 루브릭을 target-val에서 평가하여(유발된 드리프트 측정) 이후 선택에 사용합니다.
  4. target-val에서 선택된 루브릭을 select_final.py로 평가하여 이후 선택에 사용합니다.

전체 루브릭 탐색 파이프라인을 실행하려면:

root@kitploit:~
sh ./scripts/rubrics_search_helpfulness.sh
sh ./scripts/rubrics_search_harmlessness.sh

루브릭 선택

루브릭은 벤치마크 보존 제약 아래에서 선택됩니다: 후보는 홀드아웃 벤치마크 검증 분할에서 시드 루브릭의 일치도와 같거나 이를 초과해야 합니다. 실행 가능한 후보 중에서 우리는 대상 검증 분할에서 일치도를 최대한 저하시키는 루브릭을 선택합니다.

root@kitploit:~
sh ./scripts/rubrics_selection.sh

최적화된 루브릭의 전이 가능성을 평가하기 위해, 우리는 교차 모델 평가를 위한 스크립트를 제공합니다. 소스 모델(Model A)에서 최적화된 루브릭을 가져와 대상 모델(Model B)에서 그 성능을 테스트하려면:

root@kitploit:~
sh ./scripts/rubrics_cross_model_eval.sh

하위 정책 오정렬 평가

하위 정책 오정렬 실험을 위해, 우리는 Ultra-Real(유용성)과 Anthropic–SafeRLHF(무해성)에 초점을 맞추며, 선택된 루브릭에 의해 생성된 선호 레이블로 정책 모델을 직접 학습시킵니다.

DPO 학습

  1. 선택된 루브릭을 사용하여 선호 레이블을 생성합니다:
root@kitploit:~
sh scripts/dpo_labelling.sh
  1. 레이블이 지정된 학습 데이터로 정책을 학습시킵니다:
root@kitploit:~
sh scripts/dpo_train.sh

정책 평가

다음을 통해 평가 파이프라인을 실행합니다(단계의 임의 하위 집합을 실행할 수 있습니다):

root@kitploit:~
sh scripts/dpo_eval.sh

평가 스크립트는 다음 단계를 지원합니다:

  • 모델 응답 생성
  • 응답 점수 매기기(평가자/보상 모델 사용)
  • 승률 분석
  • Best-of-N(BoN) 응답 선택
  • 제3자 심사자로 최종 출력 평가

우리 연구 인용하기

root@kitploit:~
@misc{ding2026rubricsattacksurfacestealthy,
      title={Rubrics as an Attack Surface: Stealthy Preference Drift in LLM Judges}, 
      author={Ruomeng Ding and Yifei Pang and He Sun and Yizhong Wang and Zhiwei Steven Wu and Zhun Deng},
      year={2026},
      eprint={2602.13576},
      archivePrefix={arXiv},
      primaryClass={cs.CR},
      url={https://arxiv.org/abs/2602.13576}, 
}
도구 다운로드