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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/jianshuod/ipi-exposure-signal
Машинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеБезопасность ИИ
GitHubjianshuod/ipi-exposure-signal

IPI-exposure-signal

Исследовательский конвейер для обнаружения латентных сигналов подверженности косвенным инъекциям промптов в агентных LLM посредством зондирования скрытых состояний, включающий сбор трасс, разметку, извлечение признаков и обучение зондов.

Репозиторий
420 дней назадЕщё не проверено

Популярное

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

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

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

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

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

Сигнал IPI-экспозиции

arXiv

Это репозиторий с кодом для нашей статьи: Ваши агентные LLM тайно кодируют латентные сигналы подверженности косвенным промпт-инъекциям.

Версия на arXiv и ссылка на статью: https://arxiv.org/abs/2608.02657

В этом репозитории реализован конвейер зондирования латентных сигналов IPI-экспозиции: сбор трасс AgentDojo, разметка IPI-рисков, извлечение признаков из скрытых состояний, а также обучение и оценка зондов IPI-экспозиции.

Цитирование

root@kitploit:~
@misc{dong2026agenticllmssecretlyencode,
  title={Your Agentic LLMs Secretly Encode Latent Signals of Indirect Prompt-Injection Exposure},
  author={Jianshuo Dong and Yiming Liu and Maosen Zhang and Nan Deng and Xu Peng and Xiaoping Zhang and Tianwei Zhang and Jie Zhang and Han Qiu},
  year={2026},
  eprint={2608.02657},
  archivePrefix={arXiv},
  primaryClass={cs.CR},
  url={https://arxiv.org/abs/2608.02657},
}

Быстрый старт

Начните с проверок, работающих на CPU:

1. Клонирование и настройка

root@kitploit:~
git clone https://github.com/jianshuod/IPI-exposure-signal.git
cd IPI-exposure-signal

# Install uv if needed.
curl -LsSf https://astral.sh/uv/install.sh | sh

# This repository targets Python 3.12.
uv python install 3.12
uv sync --extra dev

2. Запуск тестов

root@kitploit:~
uv run pytest

Тестовый набор рассчитан на запуск без GPU. Он проверяет базовую сериализацию сообщений, регистрацию длительных атак AgentDojo, логику разметки, построение набора данных для зондов, метрики обучения, учёт токенов и упаковку патча vLLM.

3. Настройка конечной точки модели

Для сбора данных укажите коллектору на OpenAI-совместимый сервер модели:

root@kitploit:~
export IPI_AWARE_UPSTREAM_BASE_URL=http://127.0.0.1:8000/v1
export IPI_AWARE_UPSTREAM_API_KEY=EMPTY

Для извлечения скрытых состояний и обучения зондов установите зависимости для моделей и сборку PyTorch, соответствующую вашему окружению CUDA:

root@kitploit:~
uv sync --extra dev --extra models

Обзор конвейера

Основной рабочий процесс доступен через ipi-signal-probe:

КомандаНазначение
collectЗапуск задач AgentDojo и сохранение трасс и точек принятия решений
labelНазначение меток IPI-риска собранным точкам принятия решений
featurizeИзвлечение скрытых состояний модели для примеров зондов
partitionФормирование обучающего, валидационного и оценочного разбиений
trainОбучение лёгких зондов на признаках скрытых состояний
evalОценка обученных зондов на заданных разбиениях
eval-groupsГрупповая оценка для протоколов разметки и отложенных настроек

Пример:

root@kitploit:~
uv run ipi-signal-probe collect \
  --suite workspace \
  --attack direct \
  --injected \
  --max-cases 4 \
  --results-dir results/probe_traces/v2

uv run ipi-signal-probe label \
  --root results/probe_traces/v2/<run-name> \
  --labeling-protocol risk_faced

uv run ipi-signal-probe featurize \
  --root results/probe_traces/v2/<run-name> \
  --model Qwen/Qwen3-8B \
  --backend transformers_hook \
  --model-family qwen3 \
  --selected-position -1

uv run ipi-signal-probe partition \
  --root results/probe_traces/v2/<run-name> \
  --dataset broad

# Training consumes a JSON config. The Qwen example below generates the
# train/eval configs used for its full run.

Поддерживаемые протоколы разметки: risk_faced, risk_visible и risk_actual.

Воспроизводимый пример Qwen3.5-0.8B

Каталог examples/qwen3_5_0_8b/ содержит воспроизводимый пример на небольшой модели и тест пригодности к использованию open-source модели Qwen/Qwen3.5-0.8B.

Запустите восемь vLLM-серверов по одному GPU:

root@kitploit:~
examples/qwen3_5_0_8b/serve_qwen3_5_0_8b_8x.sh start

Запустите смоук-тест:

root@kitploit:~
QWEN3_5_0_8B_MODE=smoke \
examples/qwen3_5_0_8b/run_probe_pipeline.sh start

Запустите полный пример:

root@kitploit:~
QWEN3_5_0_8B_MODE=full \
examples/qwen3_5_0_8b/run_probe_pipeline.sh start

Полный пример использует 8 независимых vLLM-серверов с TP=1, 8 процессов-коллекторов, 256 воркеров на процесс/сервер, 8 шардов извлечения признаков и шарды обучения зондов на одном GPU. Все переменные окружения, режимы возобновления, настройки кэша и команды статуса/остановки см. в examples/qwen3_5_0_8b/README.md.

Прямой захват vLLM

Бэкенд извлечения признаков по умолчанию — transformers_hook. Для прямого захвата скрытых состояний через vLLM требуется прилагаемый оверлей vLLM 0.19.0:

root@kitploit:~
uv sync --frozen --extra dev --extra vllm
uv run python scripts/apply_vllm_ipi_aware_patch.py --check

Перед использованием ознакомьтесь с docs/vllm_patches_v0.19.0.md:

root@kitploit:~
uv run ipi-signal-probe featurize \
  --root results/probe_traces/v2/<run-name> \
  --model Qwen/Qwen3-8B \
  --backend vllm_direct \
  --model-family qwen3 \
  --selected-position -1

Длительные атаки AgentDojo

Этот репозиторий поставляет пропатченную версию AgentDojo в каталоге vendor/agentdojo. Оригинальный AgentDojo изначально не предоставляет длительные атаки, необходимые для статьи, поэтому команды сбора следует запускать из этой копии исходников либо с каталогом vendor/agentdojo/src, размещённым в PYTHONPATH перед любым установленным оригинальным AgentDojo.

Структура каталога

root@kitploit:~
IPI-exposure-signal/
├── ipi_aware/
│   ├── data_collection/      # AgentDojo traces and decision points
│   ├── message_content.py    # Chat-message normalization used by collection/features
│   └── probes/               # labels, features, partitions, training, eval
├── examples/
│   └── qwen3_5_0_8b/         # 8-GPU Qwen/Qwen3.5-0.8B reproduction scripts
├── patches/                  # vLLM 0.19.0 hidden-state capture overlay
├── vendor/agentdojo/         # patched AgentDojo source for long-horizon attacks
├── docs/                     # vLLM patch notes
├── scripts/                  # utility scripts
└── tests/                    # CPU-friendly regression tests

Конфигурация окружения

ПеременнаяНазначение
IPI_AWARE_UPSTREAM_BASE_URLOpenAI-совместимая конечная точка модели, используемая при сборе
IPI_AWARE_UPSTREAM_API_KEYAPI-ключ для вышестоящей конечной точки или EMPTY для локального vLLM
PYTHONPATHУкажите vendor/agentdojo/src первым при использовании пропатченного исходного кода AgentDojo вне этого репозитория
QWEN3_5_0_8B_MODELПереопределяет путь к контрольной точке Qwen/Qwen3.5-0.8B по умолчанию в примерах скриптов
QWEN3_5_0_8B_CACHE_DIRПеренаправляет модель и локальные кэши в файловую систему данных
QWEN3_5_0_8B_FEAT_BACKENDУстановите в vllm_direct после применения оверлея vLLM

Лицензия

Этот проект распространяется под лицензией Apache-2.0. См. LICENSE.

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