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
BrokenHill — Uno strumento di attacco a gradiente di coordinate greedy (GCG) in versione production-ready per modelli linguistici di grandi dimensioni (LLM) | Kitploit
Strumenti/GitHubGitHub/bishopfox/brokenhill
ExploitMachine LearningRed TeamingSicurezza dell'IAAttacco Avversario
GitHubbishopfox/brokenhill

BrokenHill

Uno strumento di attacco a gradiente di coordinate greedy (GCG) in versione production-ready per modelli linguistici di grandi dimensioni (LLM)

Vedi Repository
172251 anno faRevisionato da Kitploit

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
[ Logo di Broken Hill ]

Broken Hill

Broken Hill è uno strumento di attacco automatizzato, pronto all'uso e progettato per ambienti di produzione, che genera prompt appositamente costruiti per aggirare le restrizioni dei grandi modelli linguistici (LLM) utilizzando l'attacco greedy coordinate gradient (GCG) descritto nell'articolo "Universal and Transferable Adversarial Attacks on Aligned Language Models" di Andy Zou, Zifan Wang, Nicholas Carlini, Milad Nasr, J. Zico Kolter e Matt Fredrikson.

Broken Hill può generare prompt robusti che riescono a effettuare il jailbreak di LLM configurati in modo diverso rispetto a quello usato per generare i prompt. Per esempio:

  • Lo stesso modello con più o meno parametri
    • es. i prompt sono stati generati usando la versione da 2 miliardi di parametri di Gemma, ma vengono usati contro un'implementazione basata sulla versione da 7 miliardi di parametri di Gemma.
  • Lo stesso modello con pesi quantizzati in tipi diversi
    • es. i prompt sono stati generati usando la versione di Phi 3 con pesi memorizzati in formato FP16, ma vengono usati contro la versione predefinita di Phi 3 in ollama che ha i pesi quantizzati in formato intero a 4 bit q4_0.
  • Lo stesso modello, ma con impostazioni di randomizzazione diverse
    • es. una temperatura o un seed casuale non predefiniti.
  • Potenzialmente anche un modello diverso da quello usato per generare i prompt

Questo strumento si basa in parte su una versione fortemente personalizzata del repository llm-attacks associato all'articolo "Universal and Transferable Adversarial Attacks on Aligned Language Models". Include anche alcuni algoritmi di nanoGCG.

La ricerca originale di Zou, Wang, Carlini, Nasr, Kolter e Fredrikson è stata condotta utilizzando hardware di fascia alta di provider cloud/hosting con 80GiB di VRAM, come Nvidia A100 e H100. Acquistare queste GPU è in genere troppo costoso per i singoli individui, e noleggiarne l'accesso può comportare una bolletta salata.

Il nostro obiettivo iniziale era espandere notevolmente l'accessibilità di questo affascinante settore di ricerca producendo uno strumento in grado di eseguire l'attacco GCG contro il maggior numero possibile di modelli su una GeForce RTX 4090, che è la GPU consumer di generazione attuale con supporto CUDA e la maggiore quantità di VRAM (24GiB). La RTX 4090 è ancora costosa, ma acquistarla direttamente costa (al momento in cui scriviamo) più o meno quanto noleggiare per un mese un'istanza cloud con una A100 o una H100. Inoltre, almeno una piccola frazione delle persone nel campo della sicurezza informatica ha già almeno una RTX 4090 per il cracking di hash e/o per il gaming.

A partire dalla versione 0.34, Broken Hill può anche eseguire l'elaborazione su dispositivi senza hardware CUDA a una velocità accettabile (anche se ridotta rispetto alle prestazioni fornite dall'hardware CUDA), e può essere usato anche su Mac OS e Windows (anche se è testato principalmente su Linux). Ciò consente di eseguire l'attacco a un pubblico molto più ampio e contro modelli molto più grandi di quanto consentito dalle versioni precedenti.

Documentazione

La documentazione di Broken Hill si trova nel suo albero di directory dedicato, data la mole di materiale.

Cronologia delle versioni di Broken Hill

Un post di blog di alto livello che introduce Broken Hill

Pagina dello strumento Broken Hill su BishopFox.com

Caratteristiche

  • Interfaccia a riga di comando estesa
  • Supporta numerose famiglie di modelli, molte delle quali disponibili in dimensioni abbastanza piccole da essere eseguite su una RTX 4090 (vedi il documento "Note sui modelli" per i dettagli specifici). Alcuni punti salienti:
    • La famiglia APT di Azurro
    • Falcon
    • Gemma (incluse le derivate di terze parti, come Vikhr-Gemma-2B-instruct)
    • Gemma 2
    • GLM-4
    • GPT-J, GPT-Neo e GPT-NeoX
    • Guanaco
    • Llama (incluse le derivate di terze parti come Llama-68M-Chat-v1 e alpaca-13b)
    • Llama-2 (incluse le derivate di prima e terza parte, come Meta-Llama-Guard-2, Swallow e Youri)
    • Llama-3 (incluse le derivate di prima e terza parte, come Llama-Guard-3, Swallow e Youko)
    • MPT
    • Mamba
    • Mistral (inclusi i modelli derivati di terze parti come Neural Chat di Intel)
    • Mixtral
    • OPT
    • Orca-2
    • Da Phi-1 a Phi-3.5
    • Pythia (inclusi i modelli derivati di terze parti come il sottoinsieme basato su Pythia dei modelli OpenAssistant)
    • Qwen 1, 1.5 e 2 (incluse le derivate di terze parti, come nekomata-7b-instruction)
    • RedPajama-INCITE
    • SOLAR
    • SmolLM
    • Snowflake Arctic
    • StableLM 1 e 2
    • TinyLlama
    • Vicuna
  • I risultati possono essere emessi in formato JSON per filtraggio/analisi
  • Supporta il test di ogni iterazione di dati avversari contro lo stesso LLM con molteplici impostazioni di randomizzazione diverse, per aiutare a eliminare i risultati fragili
  • Backup automatico dello stato a ogni iterazione, che consente di riprendere da un checkpoint se si verifica un errore, o di continuare a eseguire iterazioni aggiuntive dopo la fine di un test.

Pianificato per le versioni future

  • La possibilità di testare o ri-analizzare i risultati esistenti (contro un altro modello/configurazione, con regole di rilevamento dei jailbreak diverse, ecc.)
    • Consentirebbe una scoperta più diretta di contenuti avversari "trasferibili"
    • Consentirebbe di testare i risultati contro modelli che entrano nella memoria del dispositivo, anche quando i dati necessari per l'attacco GCG (gradiente, dati di backpropagation, ecc.) non ci entrano
    • Consentirebbe di testare regole di rilevamento dei jailbreak riviste senza l'overhead di dover rigenerare i contenuti
  • Autotest più estesi per perfezionare ulteriormente i modelli di conversazione
  • Modello di rollback più flessibile
  • Regole di randomizzazione configurabili per aiutare a generare variazioni più uniche ("Gamma garden mode")
  • Funzionalità integrate per emettere i dati dei risultati per lavori successivi (invece di usare jq nella versione attuale)
  • Logica di rilevamento dei jailbreak predefinita migliorata
  • Ulteriori algoritmi di loss
  • La possibilità di gestire un cluster di sistemi che eseguono Broken Hill coordinati da un nodo centrale
  • Modalità di attacco aggiuntive
  • Internazionalizzazione
Scarica lo strumento
  • Include autotest per aiutare a validare che l'attacco sia configurato correttamente e che produrrà risultati utili
    • Validazione che le conversazioni siano fornite nel formato per cui il modello è stato addestrato
    • Validazione che il modello non fornisca l'output richiesto quando non è incluso alcun contenuto avversario
    • Validazione che il modello fornisca l'output richiesto quando gli viene dato un prompt che simula il risultato ideale di un attacco GCG
  • Tecniche aggiuntive per guidare il corso della generazione di contenuti avversari oltre il valore di loss
    • Ripristino ai risultati di massimo livello in base al conteggio dei jailbreak
    • Richiedere che il valore di loss raggiunga (o si avvicini a) i risultati precedenti
  • La possibilità di specificare regole personalizzate di rilevamento dei jailbreak in formato JSON, per rendere il rilevamento più accurato per i casi di test
    • Regole di rilevamento dei jailbreak migliorate per il metodo predefinito sviluppato da Zou, Wang, Carlini, Nasr, Kolter e Fredrikson
  • Denylist opzionali preconfigurati per aiutare a evitare la generazione di risultati avversari che contengano insulti, volgarità, ecc.
  • Filtraggio e altri controlli per migliorare i risultati
  • Numerose opzioni sperimentali per testare variazioni dell'attacco GCG
  • Un sacco di altre cose