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

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

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

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

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

Категории

Все категории
Loading categories
IPI-exposure-signal — Исследовательский конвейер для обнаружения латентных сигналов подверженности косвенным инъекциям промптов в агентных LLM посредством зондирования скрытых состояний, включающий сбор трасс, разметку, извлечение признаков и обучение зондов. | Kitploit
Инструменты/GitHubGitHub/jianshuod/ipi-exposure-signal
Машинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеБезопасность ИИ
GitHubjianshuod/ipi-exposure-signal

IPI-exposure-signal

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

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
4742 месяцев назадЕщё не проверено

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

arXiv

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

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

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

Цитирование

@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. Клонирование и настройка

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. Запуск тестов

uv run pytest

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

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

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

export IPI_AWARE_UPSTREAM_BASE_URL=http://127.0.0.1:8000/v1
export IPI_AWARE_UPSTREAM_API_KEY=EMPTY

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

uv sync --extra dev --extra models

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

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

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

Пример:

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:

examples/qwen3_5_0_8b/serve_qwen3_5_0_8b_8x.sh start

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

QWEN3_5_0_8B_MODE=smoke \
examples/qwen3_5_0_8b/run_probe_pipeline.sh start

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

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:

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:

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.

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

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.

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