Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
IPI-exposure-signal — 用于通过隐藏状态探测检测智能体大语言模型中潜在间接提示注入暴露信号的研究流程,包括轨迹收集、标注、特征化和探针训练。 | Kitploit
工具/GitHubGitHub/jianshuod/ipi-exposure-signal
机器学习论文与研究学习与教育AI 安全
GitHubjianshuod/ipi-exposure-signal

IPI-exposure-signal

用于通过隐藏状态探测检测智能体大语言模型中潜在间接提示注入暴露信号的研究流程,包括轨迹收集、标注、特征化和探针训练。

查看仓库
420天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

IPI Exposure Signal

arXiv

这是我们论文的代码仓库:Your Agentic LLMs Secretly Encode Latent Signals of Indirect Prompt-Injection Exposure。

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},
}

快速开始

先从无需 GPU 的检查开始:

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 长时程攻击注册、标注逻辑、探测器数据集构建、训练指标、token 统计以及 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

对于隐藏状态提取和探测器训练,请安装模型依赖以及与你的 CUDA 环境匹配的 PyTorch 构建:

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

流水线概述

主要工作流通过 ipi-signal-probe 暴露:

示例:

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/ 目录包含一个可运行的小模型复现,以及针对 Qwen/Qwen3.5-0.8B 的开源可用性测试。

启动八个单 GPU vLLM 服务器:

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 个独立的 TP=1 vLLM 服务器、8 个收集器进程、每个进程/服务器 256 个 worker、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 攻击

本仓库在 vendor/agentdojo 下内置了一个打过补丁的 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

环境配置

许可证

本项目采用 Apache-2.0 许可证。参见 LICENSE。

下载工具
命令用途
collect运行 AgentDojo 任务并保存轨迹及决策点
label为收集到的决策点分配 IPI 风险标签
featurize提取探测器示例的模型隐藏状态
partition构建训练/验证/评估划分
train基于隐藏状态特征训练轻量级探测器
eval在配置的划分上评估训练好的探测器
eval-groups对标注协议和留出设置运行分组评估
变量用途
IPI_AWARE_UPSTREAM_BASE_URL收集所用的 OpenAI 兼容模型端点
IPI_AWARE_UPSTREAM_API_KEY上游端点的 API 密钥,本地 vLLM 使用 EMPTY
PYTHONPATH在此仓库外部使用打过补丁的 AgentDojo 源码时,将 vendor/agentdojo/src 放在最前面
QWEN3_5_0_8B_MODEL在示例脚本中覆盖默认的 Qwen/Qwen3.5-0.8B 检查点路径
QWEN3_5_0_8B_CACHE_DIR将模型和本地缓存重定向到数据文件系统
QWEN3_5_0_8B_FEAT_BACKEND应用 vLLM 覆盖层后设置为 vllm_direct