Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
SMT — За пределами промпта: взлом LLM с вызовом функций через имитацию следов модерации | Kitploit
Инструменты/GitHubGitHub/liujlong27/smt
Анализ уязвимостейСтатьи и ИсследованияОбучение и ОбразованиеRed TeamingБезопасность ИИСостязательная Атака
GitHubliujlong27/smt

SMT

За пределами промпта: взлом LLM с вызовом функций через имитацию следов модерации

Репозиторий
71371 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

За пределами промпта: джейлбрейк LLM с вызовом функций через симулированные трассы модерации

arXiv Zenodo DOI

Введение

Этот репозиторий содержит официальную реализацию нашей статьи:

Beyond the Prompt: Jailbreaking Function-Calling LLMs via Simulated Moderation Traces

Если вы находите этот репозиторий полезным для своих исследований, пожалуйста, рассмотрите возможность цитирования нашей статьи. Вопросы, сообщения об ошибках и проблемы с воспроизводимостью приветствуются через 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: API-эндпоинт по умолчанию, совместимый с OpenAI, для коммерческих моделей.
  • 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

для запуска нового прогона для выбранной модели. Оставьте 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: Не требуется для экспериментов с использованием коммерческих API LLM.
  • Сеть: Требуется стабильное подключение к Интернету.
  • Доступ к API: Для выбранных целевых моделей и модели оценки требуются действительные учётные данные API.
  • Бюджет запросов: При значениях по умолчанию MAX_ROUNDS = 3 и TURNS_NUM = 3 SMT использует не более 9 запросов к целевой модели на одну выборку бенчмарка до досрочной остановки.
  • Время выполнения: Время выполнения в основном зависит от выбранной модели, размера бенчмарка, задержки API и ограничений скорости. Полная оценка может занять несколько часов.
  • Стоимость API: Зависит от провайдера модели и текущих цен на API.

Для локально развёрнутых моделей дополнительные требования к GPU и памяти зависят от выбранной модели и бэкенда инференса.

Замечания о воспроизводимости

Коммерческие API LLM постоянно обновляются. Даже при использовании одного и того же псевдонима модели результаты могут различаться из-за обновлений моделей на стороне провайдера, поведения маршрутизации, изменений политик безопасности, настроек декодирования или временных сбоев API.

Для повышения воспроизводимости:

  • По возможности предпочитайте датированные снимки моделей.
  • Не изменяйте файлы бенчмарка.
  • Записывайте провайдера, конечную точку, идентификатор модели, дату и параметры для каждого запуска.
  • Используйте тот же порог и бюджет запросов, что указаны в статье.

Все эксперименты, описанные в этом репозитории, были проведены в июне 2026 года. Поскольку смоделированные трассы валидации включают рандомизированные элементы, выходные данные моделей по своей природе стохастичны, а возможности моделей и внешние механизмы обнаружения продолжают развиваться, точные истории взаимодействия и воспроизведённые результаты могут отличаться от приведённых здесь даже при одинаковой конфигурации высокого уровня.

Основные результаты

Скачать инструмент