Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
prompt_injection — Harness di benchmark che misura dove si attivano le difese contro la prompt injection nelle pipeline di agenti LLM che utilizzano strumenti, tracciando i token canary attraverso le fasi esposte, persistite, ritrasmesse ed eseguite. | Kitploit
Strumenti/GitHubGitHub/kevinchunye/prompt_injection
Analisi delle VulnerabilitàUtilità e FrameworkMachine LearningPaper e RicercaApprendimento e FormazioneSicurezza dell'IAAttacco Avversario
GitHubkevinchunye/prompt_injection

prompt_injection

Harness di benchmark che misura dove si attivano le difese contro la prompt injection nelle pipeline di agenti LLM che utilizzano strumenti, tracciando i token canary attraverso le fasi esposte, persistite, ritrasmesse ed eseguite.

Vedi Repository
211214h 49m faNon ancora revisionato

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

Cross-Surface Prompt Injection Benchmark

Benchmark per misurare in quale punto della pipeline di esecuzione di un agente LLM che utilizza strumenti si attiva una difesa contro il prompt injection — e dove invece non lo fa.

Incorpora token canary univoci (SECRET-[A-F0-9]{8}) nei payload iniettati e li traccia in quattro fasi della pipeline: esposto → persistito → ritrasmesso → eseguito. Questo separa ciò che il modello vede da ciò su cui agisce, localizzando i fallimenti delle difese in fasi specifiche della pipeline.

📄 arXiv:2603.28013 · 🤗 Pagina del paper · 📦 Log di esecuzione (dataset HF)

Utilizzo

# Dry run (no API calls, verifies scenario wiring)
python -m agent_bench.runner \
  --scenario propagation \
  --attack-variants direct \
  --defenses none \
  --models gpt-4o-mini \
  --n-runs 1 --dry-run --log-dir runs/test

# Full factorial experiment
python -m agent_bench.runner \
  --scenario propagation memory_poison tool_poison permission_esc \
  --attack-variants none direct encoded \
  --defenses none write_filter spotlighting \
  --models gpt-4o-mini claude-haiku-4-5-20251001 \
  --n-runs 4 --log-dir runs/experiment

# Cross-modal relay (Phase 3)
python run_phase3.py --dry-run

# Analyze results
python scripts/analyze_scenario_compare_v1.py --run-dir runs/experiment

Struttura

agent_bench/
├── runner.py          # CLI entry point; run_grid() for factorial experiments
├── agent.py           # Tool-calling loop (OpenAI + Anthropic)
├── orchestrator.py    # Two-agent relay: delegation and memory modes
├── logger.py          # Per-step JSONL logging with canary tracking and provenance
├── memory.py          # MemoryStore with optional write_filter defense
├── tools.py           # Permission-gated tool registry
├── llm.py             # Unified LLM adapter (OpenAI, Anthropic, DeepSeek)
├── drift.py           # TF-IDF cosine objective drift scoring
├── metrics.py         # RunRecord, compute_metrics(), propagation_matrix()
├── features.py        # Trajectory features for classifier training
├── config.py          # Run configuration
└── scenarios/
    ├── propagation.py      # Web → Memory → Delegation
    ├── memory_poison.py    # Pre-seeded memory → tool exec
    ├── tool_poison.py      # RAG/search result → tool exec
    ├── multi_surface.py    # Chained multi-surface attack
    ├── permission_esc.py   # Confused deputy / ADMIN tool misuse
    ├── pdf_injection.py    # PDF surface injection
    ├── audio_injection.py  # Audio surface injection
    └── cross_modal_relay.py # Cross-modal relay (PDF→Memory→Agent)

scripts/                # Analysis and figure generation
datasets/               # Data generation scripts (PDF/audio poisoning)

Metriche

MetricaDefinizione
ASRTasso di successo dell'attacco: il canary appare negli argomenti della chiamata allo strumento
PRTasso di propagazione: l'attacco attraversa ≥1 confine di superficie
PsRTasso di persistenza: il canary sopravvive a write_memory
RRTasso di ritrasmissione: il compromesso dell'Agente-A produce il canary nel contesto dell'Agente-B

Aggiungere uno scenario

Sottoclassare BaseScenario e implementare build(), utility(), security():

class MyScenario(BaseScenario):
    name = "my_scenario"

    def build(self) -> ScenarioBuild:
        canary = self._make_canary()
        return ScenarioBuild(...)

    def security(self, build, tool_log) -> bool:
        return any(self.CANARY in json.dumps(e.get("args", {})) for e in tool_log)

Registrarlo in agent_bench/scenarios/__init__.py.

Limitazioni

  • Scenari sintetici con payload semplici; le iniezioni nel mondo reale utilizzano tecniche più sofisticate.
  • n ridotto per cella in alcune condizioni.
  • Le implementazioni delle difese sono wrapper leggeri, non sistemi di produzione.

Licenza

MIT

Scarica lo strumento