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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
SMT — 프롬프트를 넘어서: 시뮬레이션된 검열 흔적을 통한 함수 호출 LLM의 탈옥 | Kitploit
도구/GitHubGitHub/liujlong27/smt
Vulnerability AnalysisPapers & ResearchLearning & EducationRed TeamingAI SecurityAdversarial Attack
GitHubliujlong27/smt

SMT

프롬프트를 넘어서: 시뮬레이션된 검열 흔적을 통한 함수 호출 LLM의 탈옥

저장소 보기
71371개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

프롬프트 너머: 시뮬레이션된 검열 흔적을 통한 함수 호출 LLM 탈옥

arXiv Zenodo DOI

소개

이 저장소에는 다음 논문의 공식 구현이 포함되어 있습니다:

프롬프트 너머: 시뮬레이션된 검열 흔적을 통한 함수 호출 LLM 탈옥

이 저장소가 연구에 유용하다고 생각되시면 논문을 인용해 주시기 바랍니다. 질문, 버그 보고 및 재현성 문제는 GitHub Issues를 통해 환영합니다.

개요

framework

저장소 구조

.
├── install.sh                      # Installation script for setting up the environment and dependencies
├── main.py                         # Main evaluation entry point
├── demo.ipynb                      # Minimal working example
├── requirements.txt                # Python dependencies
├── data/
│   ├── SafeBench-Tiny.txt          # Default benchmark
│   └── JailbreakBench.txt          # Optional benchmark
├── figures/
│   ├── pipline.jpg                 # Framework overview
│   ├── main_res1.jpg               # Main result figure
│   └── main_res2.jpg               # Main result figure
├── utils/
│   ├── config.example.json         # Example API configuration
│   ├── eval_h_cot.py               # External evaluation utility
│   ├── fake_tool_call_noharmful.json
│   ├── moderation_generator.py
│   └── moderation_validator.py
└── output/                         # Checkpoints and evaluation results

시작하기

1. 환경 생성

Python 환경을 자동으로 설정하고 필요한 모든 종속성을 설치하는 설치 스크립트를 제공합니다.

chmod +x install.sh
./install.sh

설치가 완료되면 가상 환경을 활성화합니다:

source .venv/bin/activate

또는 Conda를 사용하여 수동으로 환경을 생성할 수 있습니다:

conda create -n SMT python=3.12
conda activate SMT
pip install -r requirements.txt

2. API 액세스 구성

예제 파일에서 utils/config.json을 생성합니다:

cp utils/config.example.json utils/config.json

최소 구성 파일은 다음 형식을 따라야 합니다:

{
  "llm_api": {
    "base_url": "https://your-api-endpoint/v1",
    "api_key": "YOUR_API_KEY"
  },
  "local": {
    "base_url": "http://localhost:1234/v1",
    "api_key": "YOUR_LOCAL_API_KEY"
  }
}

두 항목은 다음에 해당합니다:

  • llm_api: 상용 모델을 위한 기본 OpenAI 호환 API 엔드포인트입니다.
  • local: 선택된 로컬 모델에 사용되는 로컬 OpenAI 호환 추론 엔드포인트입니다.

3. 벤치마크 및 대상 모델 선택

main.py를 열고 파일 시작 부분 근처의 실험 구성을 수정하세요:

DATA_FILE = "SafeBench-Tiny.txt"
# DATA_FILE = "JailbreakBench.txt"

TARGET_MODELS = [
    "gpt-4o-2024-11-20",
    # "gpt-5.4-2026-03-05",
    # "qwen3-max-2026-01-23",
    # "gemini-3-flash-preview",
    # "deepseek-v4-flash",
    # "claude-sonnet-4-5-20250929", 
]

API 엔드포인트에 유효한 모델 식별자를 사용하세요. 해당 엔드포인트는 utils/config.json에 구성되어 있습니다.

4. 평가 매개변수 구성

기본 매개변수는 main.py에 정의되어 있습니다:

MAX_THREADS = 1
MAX_ROUNDS = 3
TURNS_NUM = 3
RESET = False

각 항목의 의미는 다음과 같습니다:

매개변수설명
MAX_THREADS대상 모델당 최대 동시 워커 수
MAX_ROUNDS최대 외부 재시도 라운드 수
TURNS_NUM샘플당 최대 멀티턴 상호작용 시도 횟수
RESET평가 전에 기존 체크포인트를 폐기할지 여부

설정:

RESET = True

선택한 모델에 대해 새 실행을 시작하려면 True로 설정합니다. 기존 체크포인트에서 재개하려면 False로 둡니다.

5. 평가 실행

python main.py

각 대상 모델에 대해 스크립트는 자동으로 다음을 수행합니다:

  1. data/에서 선택한 벤치마크를 로드합니다.
  2. 모든 대기 중인 샘플에 대해 SMT를 실행합니다.
  3. 각 샘플 후에 중간 진행 상황을 저장합니다.
  4. 저장된 체크포인트에서 중단된 실험을 재개합니다.
  5. 평가 후 집계 지표를 보고합니다.

출력 형식

결과는 다음 위치에 저장됩니다:

output/attack_checkpoint_<dataset>_<model>.json

예를 들어:

output/attack_checkpoint_SafeBench-Tiny_gpt-4o-2024-11-20.json

각 벤치마크 항목은 다음과 유사한 필드로 저장됩니다:

{
  "target_question": {
    "success": true,
    "queries": 3,
    "payload": "...",
    "score": 60
  }
}

스크립트는 다음 지표를 보고합니다:

지표설명
ASR공격 성공률: 점수가 설정된 임계값에 도달한 샘플의 비율
Avg.Q샘플당 사용된 평균 API 쿼리 수
Avg.Score모든 샘플에 걸친 평균 외부 평가 점수

대략적인 리소스 요구 사항

주요 SMT 실험은 API 기반이며 로컬 GPU가 필요하지 않습니다.

  • CPU / 메모리: 평가 스크립트를 실행하는 데에는 일반적인 노트북이나 데스크톱으로 충분합니다.
  • GPU: 상용 LLM API를 사용하는 실험에는 필요하지 않습니다.
  • 네트워크: 안정적인 인터넷 연결이 필요합니다.
  • API 접근: 선택한 대상 모델 및 평가 모델에 대해 유효한 API 자격 증명이 필요합니다.
  • 쿼리 예산: 기본 MAX_ROUNDS = 3 및 TURNS_NUM = 3 설정에서 SMT는 조기 중단 전까지 벤치마크 샘플당 최대 9회의 대상 모델 쿼리를 사용합니다.
  • 실행 시간: 실행 시간은 주로 선택한 모델, 벤치마크 크기, API 지연 시간 및 속도 제한에 따라 달라집니다. 전체 평가에는 몇 시간이 걸릴 수 있습니다.
  • API 비용: 모델 제공업체 및 현재 API 가격에 따라 달라집니다.

로컬에 배포된 모델의 경우, 추가적인 GPU 및 메모리 요구 사항은 선택한 모델과 추론 백엔드에 따라 달라집니다.

재현성 관련 참고 사항

상용 LLM API는 지속적으로 업데이트됩니다. 동일한 모델 별칭을 사용하더라도 제공업체 측의 모델 업데이트, 라우팅 동작, 안전 정책 변경, 디코딩 설정 또는 일시적인 API 장애로 인해 결과가 달라질 수 있습니다.

재현성을 향상시키려면:

  • 가능한 경우 날짜가 표시된 모델 스냅샷을 선호하십시오.
  • 벤치마크 파일을 변경하지 않고 유지하십시오.
  • 각 실행에 대해 제공업체, 엔드포인트, 모델 ID, 날짜 및 매개변수를 기록하십시오.
  • 논문에 보고된 것과 동일한 임계값 및 쿼리 예산을 사용하십시오.

이 저장소에 보고된 모든 실험은 2026년 6월에 수행되었습니다. 시뮬레이션된 검증 추적에는 무작위 요소가 포함되어 있고, 모델 출력은 본질적으로 확률적이며, 모델 기능과 외부 탐지 메커니즘 모두 계속 발전하고 있기 때문에, 동일한 상위 수준 구성에서도 정확한 상호작용 이력과 재현된 결과는 여기에 보고된 것과 다를 수 있습니다.

주요 결과

main_results

main_results

우리의 평가는 여러 상용 함수 호출 LLM과 두 가지 안전 벤치마크에 걸쳐 SMT를 대표적인 탈옥(jailbreak) 베이스라인과 비교합니다.

전체 실험 설정, 베이스라인 구현, 통계적 세부 사항 및 방어 분석은 논문을 참조하십시오.

윤리적 고려 사항

이 프로젝트는 안전 정렬된 함수 호출 LLM 시스템의 실패 모드를 연구합니다. 코드와 관련 자료는 다음을 지원하기 위한 것입니다:

  • 승인된 레드팀 평가
  • 안전 벤치마킹
  • 도구 사용 및 에이전트 보안 연구
  • 상황 인식 가드레일 개발
  • 발표된 연구의 재현성

사용자는 적용 가능한 법률, 기관 검토 요건, API 제공업체 약관 및 책임 있는 공개 관행을 준수할 책임이 있습니다.

승인 없이 이 프레임워크를 프로덕션 시스템에 배포하는 것을 강력히 권장하지 않습니다. 연구자는 공개 저장소에 원시 유해 출력, API 자격 증명, 개인 식별 정보 또는 무제한 공격 아티팩트를 노출하지 않아야 합니다.

인용

이 저장소가 유용하다고 생각되면 다음과 같이 인용해 주십시오:

@inproceedings{liu2027smt,
    title={Beyond the Prompt: Jailbreaking Function-Calling LLMs via Simulated Moderation Traces},
    author={Junlong Liu and Haobo Wang and Weiqi Luo and Xiaojun Jia},
    booktitle={{IEEE} Symposium on Security and Privacy},
    year={2027}
}
도구 다운로드