Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
IPI-exposure-signal — Pipeline di ricerca per rilevare segnali latenti di esposizione a prompt injection indiretti in LLM agentici tramite sonde sugli stati nascosti, inclusi raccolta di tracce, etichettatura, estrazione di feature e addestramento delle sonde. | Kitploit
Strumenti/GitHubGitHub/jianshuod/ipi-exposure-signal
Machine LearningPaper e RicercaApprendimento e FormazioneSicurezza dell'IA
GitHubjianshuod/ipi-exposure-signal

IPI-exposure-signal

Pipeline di ricerca per rilevare segnali latenti di esposizione a prompt injection indiretti in LLM agentici tramite sonde sugli stati nascosti, inclusi raccolta di tracce, etichettatura, estrazione di feature e addestramento delle sonde.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
420 giorni faNon ancora revisionato

IPI Exposure Signal

arXiv

Questo è il repository del codice per il nostro articolo: Your Agentic LLMs Secretly Encode Latent Signals of Indirect Prompt-Injection Exposure.

Versione arXiv e link all'articolo: https://arxiv.org/abs/2608.02657

Questo repository implementa la pipeline di probing per i segnali latenti di esposizione IPI: raccolta delle tracce AgentDojo, etichettatura del rischio IPI, featurizzazione degli stati nascosti e addestramento/valutazione della sonda per l'esposizione IPI.

Citazione

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

Avvio Rapido

Inizia dai controlli adatti alla CPU:

1. Clone e Configurazione

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. Esegui i Test

root@kitploit:~
uv run pytest

La suite di test è progettata per essere eseguita senza risorse GPU. Verifica la serializzazione dei messaggi, la registrazione degli attacchi AgentDojo a lungo orizzonte, la logica di etichettatura, la costruzione del dataset della sonda, le metriche di addestramento, la contabilità dei token e l'impacchettamento della patch vLLM.

3. Configura un Endpoint del Modello

Per la raccolta, punta il collector a un server di modelli compatibile con OpenAI:

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

Per l'estrazione degli stati nascosti e l'addestramento della sonda, installa le dipendenze del modello e la build di PyTorch compatibile con il tuo ambiente CUDA:

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

Panoramica della Pipeline

Il flusso di lavoro principale è esposto tramite ipi-signal-probe:

Esempio:

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.

I protocolli di etichettatura supportati sono risk_faced, risk_visible e risk_actual.

Esempio Riproducibile con Qwen3.5-0.8B

La directory examples/qwen3_5_0_8b/ contiene una riproduzione eseguibile con un piccolo modello e un test di usabilità open source per Qwen/Qwen3.5-0.8B.

Avvia otto server vLLM con una GPU ciascuno:

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

Esegui uno smoke test:

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

Esegui l'esempio completo:

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

L'esempio completo usa 8 server vLLM indipendenti con TP=1, 8 processi di raccolta, 256 worker per processo/server, 8 shard di featurizzazione e shard di addestramento della sonda con una GPU ciascuno. Vedi examples/qwen3_5_0_8b/README.md per tutte le variabili d'ambiente, le modalità di ripresa, le impostazioni della cache e i comandi di stato/stop.

Acquisizione Diretta con vLLM

Il backend di featurizzazione predefinito è transformers_hook. Il backend di acquisizione diretta degli stati nascosti vLLM richiede l'overlay di vLLM 0.19.0 incluso:

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

Segui docs/vllm_patches_v0.19.0.md prima dell'uso:

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

Attacchi AgentDojo a Lungo Orizzonte

Questo repository incorpora un checkout patchato di AgentDojo sotto vendor/agentdojo. AgentDojo upstream non espone in modo nativo gli attacchi a lungo orizzonte richiesti dall'articolo, quindi i comandi di raccolta devono essere eseguiti da questo checkout del sorgente, oppure con vendor/agentdojo/src posizionato davanti a qualsiasi AgentDojo upstream installato su PYTHONPATH.

Struttura delle Directory

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

Configurazione dell'Ambiente

Licenza

Questo progetto è concesso in licenza sotto Apache-2.0. Vedi LICENSE.

Scarica lo strumento
ComandoScopo
collectEsegue le attività AgentDojo e salva le tracce e i punti di decisione
labelAssegna etichette di rischio IPI ai punti di decisione raccolti
featurizeEstrae gli stati nascosti del modello per gli esempi della sonda
partitionCrea le suddivisioni train/validation/evaluation
trainAddestra sonde leggere sulle caratteristiche degli stati nascosti
evalValuta le sonde addestrate sulle suddivisioni configurate
eval-groupsEsegue una valutazione raggruppata per i protocolli di etichettatura e le impostazioni hold-out
VariabileScopo
IPI_AWARE_UPSTREAM_BASE_URLEndpoint del modello compatibile OpenAI usato per la raccolta
IPI_AWARE_UPSTREAM_API_KEYChiave API per l'endpoint a monte, oppure EMPTY per vLLM locale
PYTHONPATHMettere vendor/agentdojo/src al primo posto quando si usa il sorgente AgentDojo patchato al di fuori di questo checkout
QWEN3_5_0_8B_MODELSostituisce il percorso predefinito del checkpoint Qwen/Qwen3.5-0.8B negli script di esempio
QWEN3_5_0_8B_CACHE_DIRReindirizza il modello e le cache locali a un filesystem dati
QWEN3_5_0_8B_FEAT_BACKENDImpostare su vllm_direct dopo aver applicato l'overlay vLLM