Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
guardrebind — LLM 안전 가드가 위조된 미끼 콘텐츠를 채점하도록 속이는 타깃 리바인딩 공격에 대한 연구 코드, 벤치마크 및 방어 기법과 세그먼트-최대 증류 강화를 포함합니다. | Kitploit
도구/GitHubGitHub/ukanwat/guardrebind
Defensive ToolsMachine LearningPapers & ResearchLearning & EducationAI SecurityAdversarial Attack
GitHubukanwat/guardrebind

guardrebind

LLM 안전 가드가 위조된 미끼 콘텐츠를 채점하도록 속이는 타깃 리바인딩 공격에 대한 연구 코드, 벤치마크 및 방어 기법과 세그먼트-최대 증류 강화를 포함합니다.

저장소 보기
158일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

LLM 안전 가드를 속여 잘못된 텍스트를 심사하게 만들기

논문의 코드, 데이터, 모든 원시 점수 (paper/main.pdf, 소스는 paper/에 있음).

LLM 안전 가드는 검토할 콘텐츠를 심사 프롬프트에 단순 문자열 보간으로 받아들이므로, 가드 자체의 프롬프트 형식을 모방한 콘텐츠는 무해한 미끼 문서와 함께 두 번째의 위조된 심사 작업을 열 수 있고, 가드는 실제 콘텐츠 대신 그것을 심사하게 된다(대상 재바인딩). 이러한 위조된 작업을 덧붙이면 Shieldstral-1.0-3B가 플래그를 지정한 사전 등록된 75개의 홀드아웃 AdvBench 요청 전부를 통과시키고, gpt-oss-safeguard-20B와 Llama Guard 4로도 전이되며, 우리의 벤치마크인 GuardRebind(52개 공격 패밀리, 5개 대조군)에서 가장 강력한 패밀리는 다섯 개 가드 각각에서 플래그된 항목의 93-100%를 통과시킨다. 세그먼트-최대 자기 증류는 가드가 콘텐츠를 가장 유해한 부분만큼 높게 점수화하도록 훈련시키고 홀드아웃 공격에서 우회율을 75%에서 약 1%로 줄이지만, 점수 기반 적응형 공격자는 여전히 훈련된 가드를 94%의 항목에서 통과시키며, 그중 절반 이상은 위조된 구조가 전혀 없다.

공격은 의도적으로 여기서 산문으로 설명된다. 페이로드는 src/attacks.py(확증 연구)와 src/bench/attacks_grammar.py(벤치마크)에 의해 생성되며, 논문의 부록에 나열되어 있다.

레이아웃

경로내용
PROTOCOL.md확증적 Shieldstral 연구를 위한 사전 등록 (논문 3절; 예측 P1-P9)
PROTOCOL_v2.md논문의 벤치마크와 방어를 위한 사전 등록 (M1-M5, F1-F6, A1-A3), 기록된 편차 D1-D4 포함
src/*.pyShieldstral에 대한 확증 연구 및 교차 모델 실행 (채점기, 페이로드, 절제, 미끼 사다리, OpenRouter 클라이언트)
src/bench/GuardRebind: 데이터셋 로더 (data.py), 가드 어댑터 (guards.py), 공격 문법, 로컬 및 API 러너, 분석
src/fix/방어: 세그먼트-최대 증류 (distill.py), 평가 (evaluate.py), 적응형 공격 (adaptive.py), 훈련 없는 베이스라인 (baselines.py), 경계 입력 형식 (inputs.py)
src/mech/활성화 패칭, 선형 프로브, 표현 유사도, 미끼 용량-반응
scripts/queue_*.sh결과를 생성한 재개 가능한 작업 큐 (한 번에 하나의 GPU 작업)
scripts/pod/임대한 CUDA GPU (Runpod)에서 방어 큐를 실행하고 결과를 다시 복사
scripts/analysis_r2/방어 수치 뒤의 CPU 통계 (Wilson, Newcombe, Hanley-McNeil, 짝지은 부트스트랩)
paper/data/논문을 위해 직접 계산된 수치에 대한 CPU 스크립트와 그 출력
paper/figures/make_figures.pyresults/에서 논문의 그림을 그림
results/논문이 인용하는 모든 원시 점수와 요약

각 표와 그림의 출처

명령은 저장소 루트를 기준으로 한다. "GPU" 단계는 가드 모델을 로드하고, "CPU" 단계는 results/의 파일만 읽는다.

3절, 대상 재바인딩 (Shieldstral, 확증 연구, PROTOCOL.md)

논문결과 파일생성 명령
그림 1 (해부; 점수)results/confirm_shieldstral.csv (첫 번째 문서, none 및 query_doc)python -m src.confirm (GPU)
표 1 (절제)results/confirm_log.txt [ablation], results/tables.mdpython -m src.confirm (stdout는 confirm_log.txt), 그다음 python -m src.figures (CPU, tables.md 작성)
그림 2 (점수; 세 개의 미끼)results/confirm_shieldstral.csv, results/confirm_groundtruth.csvpython -m src.confirm, python -m src.groundtruth (GPU, stdout results/groundtruth_log.txt); paper/figures/make_figures.py로 그림 생성 (CPU)
100-요청 실행 (텍스트)results/confirm_hundred.csv, results/hundred_log.txtpython -m src.hundred (GPU)
완화된 쿼리 대조 (텍스트)results/confirm_soften.csv, results/soften_log.txtpython -m src.soften (GPU)
위조 판정 대 위조 작업 (텍스트)results/fix/forgery_controls_base.jsonpython -m src.fix.forgery_controls --cond base --split test --allow-test --out results/fix/forgery_controls_base.json (GPU; scripts/queue_fix_full.sh 내)
견고성 단락 (섹션 3 텍스트)results/confirm_log.txt [recency], [markers], [policy]; results/supp_log.txt [A]python -m src.confirm, python -m src.supp (GPU)
섹션 3 용량-반응 단락; 활성화 패칭 (부록 C)results/mech/patching_test_n100.json, dose_response_test_n150_d40.json, dose_response_test_n150_d40_rho_ci.json (비교용 dev 분할 실행 *_dev_*)src.mech.{patching,dose_response} (GPU; scripts/queue_fix_full.sh의 0단계, PART=main); rho 구간: python -m src.mech.dose_response --recompute results/mech/dose_response_test_n150_d40.json (CPU)
임계값 민감도 (섹션 3 텍스트, tau = 0.1)results/sensitivity.mdpython -m src.sensitivity (CPU, confirm_shieldstral.csv 읽음)

섹션 4, GuardRebind (PROTOCOL_v2.md)

논문결과 파일생성 명령
세 가지 가드 설계 (섹션 4 텍스트)results/confirm_crossmodel.csv, results/confirm_gpt_oss_mechanism.csv, results/gpt_oss_mechanism_log.txtpython -m src.crossmodel 30, python -m src.gpt_oss_mechanism 30 (OpenRouter API, GPU 불필요)
표 2 (벤치마크, 로컬 가드)results/bench/v2/<guard>__default.jsonl (원시 점수, 항목 id만), results/bench/v2/bypass.csv, run_config.jsonscripts/queue_bench.sh (GPU) -> python -m src.bench.run_bench_v2 ..., 그다음 python -m src.bench.analyze --inp results/bench/v2 (CPU)
표 2 (gpt-oss-safeguard 행), gpt-oss 단락 (섹션 4.2), 다중 판정 해석 (부록 C)results/bench/v2/gpt_oss_safeguard_20b.jsonl, results/bench/v2/gpt_oss_summary.md, results/bench/v2/gpt_oss/*, paper/data/gpt_oss_strict.mdpython -m src.bench.api_bench (OpenRouter), python -m src.bench.api_summary (CPU), python paper/data/gpt_oss_strict.py > paper/data/gpt_oss_strict.md (CPU)
패밀리별 우회 (섹션 4.2 텍스트; 전체 표는 공개되나 논문에는 없음)results/bench/v2/bypass.csv (기본 정책, bypass 열); gpt-oss는 paper/data/gpt_oss_strict.md에서python -m src.bench.analyze (CPU)
벤치마크 임계값 민감도 (공개되나 논문에는 없음)results/bench/v2/bypass_tau.csvpython -m src.bench.analyze (CPU)
정책 바꿔쓰기 및 제어 토큰 비교 (부록 C)results/bench/v2/<guard>__para{1,2}.jsonl, results/bench/v2/policy_range.csv, results/bench/v2/bypass.csvscripts/queue_bench.sh, src.bench.analyze
Qwen3Guard "무엇이 작업으로 간주되는가" 프로브results/bench/explore/qwen3guard.mdpython -m src.bench.explore.qwen3guard --n 40 (GPU, train 분할)

섹션 5-6, 방어 (PROTOCOL_v2.md, 라운드 2 = 편차 D4)

논문결과 파일생성 스크립트
표 3 (방어, 주요) 및 표 4 (유용성)results/fix/r2_test_{base,B,detector,segmax_infer,t_seed0,t_seed1,bt_seed0,cc_seed0}.jsonscripts/queue_round2.sh (GPU; 1-3단계 및 5단계): src.fix.distill build/train, src.fix.evaluate ... --decoy-split fixed,heldout
6.2절의 구간 및 쌍별 검정동일 파일python scripts/analysis_r2/tab.py, delta.py, boot.py (CPU)
표 5 (적응형 공격)results/fix/r2_adaptive_{base,t_seed0,bt_seed0}_{search,structural_heldout}.json(.jsonl), r2_adaptive_{base,t_seed0}_search_null.json(.jsonl), r2_adaptive_t_seed0_gcg.json(.jsonl)scripts/queue_round2.sh 4단계 (GPU) 및 일반 텍스트 대조군 (아래 명령)
우승 디코이 (6.3절 본문)paper/data/search_decoys.mdpython paper/data/search_decoys.py > paper/data/search_decoys.md (CPU에서 base Shieldstral 로드)
검색 대 무검색 통과율, 검색 승리 위치, 일반 텍스트 대조군 중복 (6.3절 본문, C3)paper/data/search_no_feedback.mdpython paper/data/search_no_feedback.py > paper/data/search_no_feedback.md (CPU, 적응형 .jsonl 파일만 읽음)
표 6 (사전 등록 예측 및 결과)PROTOCOL.md, PROTOCOL_v2.md 및 여기에 나열된 결과 파일없음 (수동으로 수집)
표 7 (고정 디코이 조건: naive AT, Llama Guard 3, Qwen3Guard)results/fix/test_{at_seed0,at_seed1,lg3_base,lg3_t_seed0,qg3_base,qg3_t_seed0}.jsonscripts/queue_fix_full.sh (1라운드; PART=main, 시드 및 일반성)
표 5 "모든 공격"에 집계된 GCG (6.3절 본문)results/fix/adaptive_{base,B}_gcg.json, adaptive_base_gcg_nopair.json, r2_adaptive_t_seed0_gcg.jsonscripts/queue_fix_full.sh (1라운드) 및 scripts/queue_round2.sh; no-pair 대조군은 src.fix.adaptive --attack gcg --no-pair
콘텐츠 토큰 검사 (부록 D)results/fix/content_token_check.jsonpython scripts/check_content_tokens.py (CPU, 토크나이저만)
제한 형식 토큰화 검사 (부록 D)results/fix/bounded_tokenization_check.jsonpython scripts/check_bounded_tokenization.py (CPU, 토크나이저만; data/items.jsonl 읽음)

논문에서 인용하지 않는 파일럿, dev 분할 및 기타 탐색적 출력은 포함되지 않습니다.

데이터 및 모델 받기

벤치마크 항목은 src/bench/data.py에 의해 생성되며 data/items.jsonl에 캐시됩니다 (gitignore 처리됨, 약 40k 항목, 정규화된 텍스트의 해시로 60/10/30 분할):

uv run python -m src.bench.data            # build or read the cache, print counts

소스는 모두 src/bench/data.py의 로더가 읽습니다:

소스읽어오는 위치접근
AdvBench, HarmBench고정된 커밋의 업스트림 GitHub CSV공개 (MIT)
Aegis 2.0nvidia/Aegis-AI-Content-Safety-Dataset-2.0Hub에서 공개
BeaverTailsPKU-Alignment/BeaverTails공개; 비상업적 라이선스
OpenAI moderation evalmmathys/openai-moderation-api-evaluation공개
ToxicChatlmsys/toxic-chat (toxicchat0124)공개; 비상업적 라이선스
XSTest, OR-Bench-hard-1kPaul/XSTest, bench-llm/or-bench공개
WildGuardMixallenai/wildguardmix게이트됨; 접근 권한이 없으면 경고와 함께 건너뜁니다. 논문의 실행에는 포함되지 않았습니다

구조화된 무해(hard negative) 및 테스트 세트는 src/bench/data.py의 템플릿과 무해 분할 텍스트로 생성되며, 증류 데이터는 data/fix/에 저장됩니다.

도구 다운로드