Broken Hill
Broken Hill ist ein produktionsreifes, einsatzbereites automatisiertes Angriffswerkzeug, das maßgeschneiderte Prompts erzeugt, um Beschränkungen in großen Sprachmodellen (LLMs) mithilfe des Greedy-Coordinate-Gradient-Angriffs (GCG) zu umgehen, wie er in dem Paper „Universal and Transferable Adversarial Attacks on Aligned Language Models“ von Andy Zou, Zifan Wang, Nicholas Carlini, Milad Nasr, J. Zico Kolter und Matt Fredrikson beschrieben ist.
Broken Hill kann robuste Prompts erzeugen, die erfolgreich LLMs jailbreaken, die anders konfiguriert sind als das Modell, mit dem die Prompts erzeugt wurden. Zum Beispiel:
- Dasselbe Modell mit mehr oder weniger Parametern
- z. B. wurden die Prompts mit der 2-Milliarden-Parameter-Version von Gemma erzeugt, aber gegen eine Implementierung eingesetzt, die auf der 7-Milliarden-Parameter-Version von Gemma basiert.
- Dasselbe Modell mit Gewichten, die zu unterschiedlichen Typen quantisiert sind
- z. B. wurden die Prompts mit der Version von Phi 3 erzeugt, deren Gewichte im
FP16-Format gespeichert sind, aber gegen die ollama-Standardversion von Phi 3 eingesetzt, deren Gewichte auf das 4-Bit-q4_0-Integerformat quantisiert sind.
- Dasselbe Modell, aber mit anderen Randomisierungs-Einstellungen
- z. B. eine nicht standardmäßige Temperatur oder ein anderer Random-Seed.
- Möglicherweise sogar ein anderes Modell als das, mit dem die Prompts erzeugt wurden
Dieses Tool basiert teilweise auf einer stark angepassten Version des llm-attacks-Repositorys, das mit dem Paper „Universal and Transferable Adversarial Attacks on Aligned Language Models“ verbunden ist. Es integriert außerdem einige Algorithmen aus nanoGCG.
Die ursprüngliche Forschung von Zou, Wang, Carlini, Nasr, Kolter und Fredrikson wurde mit High-End-Cloud-/Hosting-Provider-Hardware mit 80GiB VRAM durchgeführt, wie etwa der Nvidia A100 und H100. Der Kauf dieser GPUs ist für Einzelpersonen in der Regel viel zu teuer, und das Mieten von Zugriff darauf kann eine stattliche Rechnung nach sich ziehen.
Unser ursprüngliches Ziel war es, die Zugänglichkeit dieses faszinierenden Forschungsbereichs erheblich zu erweitern, indem wir ein Tool entwickelten, das den GCG-Angriff gegen so viele Modelle wie möglich auf einer GeForce RTX 4090 durchführen kann – der aktuellen Consumer-GPU mit CUDA-Unterstützung, die den meisten VRAM (24GiB) bietet. Die RTX 4090 ist immer noch teuer, aber ein Direktkauf kostet (Stand heute) ungefähr so viel wie das Mieten einer Cloud-Instanz mit einer A100 oder H100 für einen Monat. Darüber hinaus besitzt zumindest ein kleiner Teil der Leute im Bereich der Informationssicherheit bereits mindestens eine RTX 4090 zum Hash-Cracking und/oder Spielen.
Ab Version 0.34 kann Broken Hill Berechnungen auch auf Geräten ohne CUDA-Hardware mit akzeptabler Geschwindigkeit durchführen (wenn auch reduziert gegenüber der Leistung, die CUDA-Hardware bietet), und kann sogar unter Mac OS und Windows verwendet werden (obwohl es hauptsächlich unter Linux getestet wird). Dadurch kann der Angriff von einem viel größeren Publikum und gegen viel größere Modelle durchgeführt werden, als es frühere Versionen erlaubten.
Dokumentation
Die Dokumentation für Broken Hill befindet sich wegen der Menge an Material in einem eigenen Verzeichnisbaum.
Versionsverlauf von Broken Hill
Ein einführender Blogbeitrag zu Broken Hill
Tool-Seite von Broken Hill bei BishopFox.com
Funktionen
- Umfangreiche Befehlszeilenschnittstelle
- Unterstützt zahlreiche Modellfamilien, von denen viele in Größen erhältlich sind, die klein genug sind, um auf einer RTX 4090 zu laufen (siehe das Dokument „Model notes“ für spezifische Details). Einige Highlights:
- Azurros APT-Familie
- Falcon
- Gemma (einschließlich Drittanbieter-Derivaten wie
Vikhr-Gemma-2B-instruct)
- Gemma 2
- GLM-4
- GPT-J, GPT-Neo und GPT-NeoX
- Guanaco
- Llama (einschließlich Drittanbieter-Derivaten wie
Llama-68M-Chat-v1 und alpaca-13b)
- Llama-2 (einschließlich Derivaten von Erst- und Drittanbietern wie Meta-Llama-Guard-2, Swallow und Youri)
- Llama-3 (einschließlich Derivaten von Erst- und Drittanbietern wie Llama-Guard-3, Swallow und Youko)
- MPT
- Mamba
- Mistral (einschließlich abgeleiteter Drittanbieter-Modelle wie Intels Neural Chat)
- Mixtral
- OPT
- Orca-2
- Phi-1 bis Phi-3.5
- Pythia (einschließlich abgeleiteter Drittanbieter-Modelle wie der Pythia-basierten Teilmenge der OpenAssistant-Modelle)
- Qwen 1, 1.5 und 2 (einschließlich Drittanbieter-Derivaten wie
nekomata-7b-instruction)
- RedPajama-INCITE
- SOLAR
- SmolLM
- Snowflake Arctic
- StableLM 1 und 2
- TinyLlama
- Vicuna
- Ergebnisse können zur Filterung/Analyse im JSON-Format ausgegeben werden
- Unterstützt das Testen jeder Iteration adversarialer Daten gegen dasselbe LLM mit mehreren verschiedenen Randomisierungs-Einstellungen, um fragile Ergebnisse auszusortieren
- Automatische Zustandssicherung bei jeder Iteration, sodass bei einem Fehler von einem Checkpoint fortgesetzt oder nach Ende eines Tests weitere Iterationen durchgeführt werden können.
- Enthält Selbsttests, um zu validieren, dass der Angriff korrekt konfiguriert ist und brauchbare Ergebnisse liefert
- Validierung, dass Gespräche in dem Format bereitgestellt werden, für das das Modell trainiert wurde
- Validierung, dass das Modell die angeforderte Ausgabe nicht liefert, wenn keine adversarialen Inhalte enthalten sind
- Validierung, dass das Modell die angeforderte Ausgabe liefert, wenn es einen Prompt erhält, der das ideale Ergebnis eines GCG-Angriffs simuliert
- Zusätzliche Techniken zur Steuerung des Verlaufs der Erzeugung adversarialer Inhalte über den Loss-Wert hinaus
- Zurückrollen auf High-Water-Mark-Ergebnisse basierend auf der Jailbreak-Anzahl
- Verlangen, dass der Loss-Wert frühere Ergebnisse erreicht (oder ihnen nahekommt)
- Die Möglichkeit, benutzerdefinierte Jailbreak-Erkennungsregeln im JSON-Format festzulegen, um die Erkennung für Testfälle genauer zu machen
- Verbesserte Jailbreak-Erkennungsregeln für die von Zou, Wang, Carlini, Nasr, Kolter und Fredrikson entwickelte Standardmethode
- Optionale vorkonfigurierte Denylists, um zu vermeiden, dass adversariale Ergebnisse erzeugt werden, die Beleidigungen, Schimpfwörter usw. enthalten
- Filterung und andere Steuerungsmöglichkeiten zur Verbesserung der Ergebnisse
- Zahlreiche experimentelle Optionen zum Testen von Variationen des GCG-Angriffs
- Eine Reihe weiterer Dinge
Für zukünftige Versionen geplant