Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/abhinavdubey30/perturbed-embedding-vectors
Maschinelles LernenPapers & ForschungLernen & BildungKuratierte RessourcenKI-SicherheitAdversarial-Angriff
GitHubabhinavdubey30/perturbed-embedding-vectors

Perturbed-Embedding-Vectors

Code, Antwortprotokolle und Labels für das Paper Jailbreaking Open-Weight LLMs via Random Embedding Perturbations

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
1vor 4 TagenNoch nicht geprüft

Jailbreaking von Open-Weight-LLMs durch zufällige Embedding-Perturbationen: Runs, Labels und Code

Code und Daten für das Paper Jailbreaking Open-Weight LLMs via Random Embedding Perturbations.

Verfasst von den großartigen Leuten des Department of Theoretical Computer Science der University of California, Santa Cruz.

Diese Arbeit enthält bedeutende Beiträge von Scott Sirri, Prof. Vaggos Chatziafratis, Prof. C. Seshadhri und mir.

Das Repository enthält jede für das Paper generierte Modellantwort, das safe-/unsafe-/degenerate-Label jeder Antwort, die Colab-Notebooks, die sie erzeugt haben, und die Inferenzskripte, die die Notebooks importieren. Dies umfasst den Perturbed Embedding Vector (PEV)-Angriff und die fünf anderen Jailbreak-Methoden, die im Paper verglichen werden. Alle Jailbreak-Raten und Wall-Clock-Zeiten im Paper werden aus den Dateien in results/ berechnet.

Layout

code/
  inference/             run_<model>.py: Modellladen, Prompt-Konstruktion und die manuelle
                         Generierungsschleife, die jedes PEV-Notebook importiert
  ours/<model>/          PEV-Notebooks für ein Modell
  ours/<model>/fixed_peak_sigma/
                         Notebooks für die Runs mit festem Peak-Sigma (GLM-4-9B, Phi-4-mini,
                         Qwen2.5-1.5B); ihre Logs liegen in results/<model>/ours/fixed_peak_sigma/
  igcg/                  I-GCG, ein Notebook pro Modell
  latentfusion/          LatentFusion, ein Notebook pro Modell
  refusalcones/          RefusalCones, ein Notebook pro Modell
  softprompt/            SoftPrompt-Notebooks (Llama-3.1-8B und Mistral-7B)
  figures/               Notebook, das die Abbildungen des Papers zeichnet
results/<model>/
  baseline/              direkte Antworten auf die ungestörten Prompts (.txt-Log) und ihre
                         Labels (.xlsx / .csv); diese ergeben die Baseline-Jailbreak-Rate
  ours/raw_responses/    PEV-Antwortlogs aus den Sigma-Sweeps, aufgeteilt nach Prompt-Bereich
  ours/classified/       Labels für diese Antworten, auf dieselbe Weise aufgeteilt
  ours/fixed_peak_sigma/ PEV-Runs beim festen Peak-Sigma des Modells (GLM-4-9B, Phi-4-mini,
                         Qwen2.5-1.5B): der vollständige 100-Prompt-Sweep und die SELECT-Re-Runs
  igcg/ latentfusion/ neurostrike/ refusalcones/ softprompt/
                         Antworten (.txt) und Labels (.xlsx) für die anderen Methoden

Modelle: Qwen2.5-1.5B, SmolLM3-3B, Phi-4-mini, Mistral-7B-Instruct, Llama-3.1-8B, GLM-4-9B, die instruction-tuned Chat-Varianten, die in Abschnitt 4 des Papers genannt werden.

Wo sich der Code jeder Methode befindet:

MethodeOrt
PEVcode/ours/<model>/; Runs mit festem Peak-Sigma in code/ours/<model>/fixed_peak_sigma/; gemeinsamer Inferenzcode in code/inference/
I-GCGcode/igcg/, ein Notebook pro Modell
LatentFusioncode/latentfusion/, ein Notebook pro Modell
RefusalConescode/refusalcones/, ein Notebook pro Modell
SoftPromptcode/softprompt/, Llama-3.1-8B und Mistral-7B
NeuroStrikeinnerhalb der PEV-Notebooks code/ours/Llama-3.1-8B/LLama31_perturbation_p76_to_p100.ipynb (Setup-Zelle auch in LLama31_perturbation_p1_to_p25.ipynb) und code/ours/SmolLM3-3B/run_smollm3_batched_p26_p50.ipynb; Antworten gehen nach results/<model>/neurostrike/

Inferenzskripte

code/inference/run_<model>.py ist eine Datei pro Modell (run_qwen.py, run_smollm3.py, run_phi4mini.py, run_mistral.py, run_llama.py, run_glm.py). Jede lädt das Modell mit HuggingFace Transformers, wendet das Chat-Template mit einer leeren Systemnachricht an, stellt load_model(), build_prompt() und encode_prompt() bereit und führt eine manuelle autoregressive Generierungsschleife mit einem Hook auf den Input-Embeddings aus. Die Notebooks importieren das Skript für ihr Modell und injizieren das Gaußsche Rauschen über diesen Hook. Allein ausgeführt öffnet ein Skript ein interaktives Terminal für ein einzelnes Modell; die Befehle /verbose und /embedfile geben Token-Tabellen und Embedding-Vektoren aus. Geräte- und Verhaltensschalter sind Umgebungsvariablen, die im Header jeder Datei dokumentiert sind. Das Llama-Skript benötigt ein Hugging Face Token, da der Checkpoint gated ist; das Token wird aus der Umgebung gelesen und niemals gespeichert.

Dateikonventionen

  • Antwortlogs (.txt) sind Append-only-Logs, die von den Notebooks geschrieben werden. Jeder Eintrag erfasst den Prompt-Index, das Rauschniveau Sigma, sofern zutreffend, die Run-Nummer und die vollständige Modellantwort. Dateinamen tragen den Prompt-Bereich (p001_to_p025 bedeutet Prompts 1 bis 25 der 100 schädlichen JailbreakBench-Prompts) und den UTC-Zeitstempel des Runs. Die Wall-Clock-Zeit wird nach jedem Batch von 20 Runs pro Prompt und am Ende des Experiments geschrieben.
  • Label-Dateien (.xlsx, .csv) enthalten eine Zeile pro Antwort mit ihrem Label, safe, unsafe oder degenerate, wie in Abschnitt 4 des Papers definiert. Ein Prompt zählt als jailbroken, wenn einer seiner Runs als unsafe gelabelt ist. Dateien mit Namen wie *_categorization* oder *_p01_25 sind die gelabelten Versionen des Logs mit demselben Prompt-Bereich.
  • Runs mit festem Peak-Sigma (ours/fixed_peak_sigma/) heißen JBB_<model>_sigma0pXXX_..._<timestamp>.txt; sigma0p003 bedeutet Sigma = 0.003. Die Datei p001_to_p100 ist der vollständige Sweep über 100 Prompts mit 20 Runs bei diesem Sigma. Die Dateien SELECT_..._nNN sind Folge-Runs beim selben Sigma auf den im Dateinamen aufgeführten Prompts, mit NN Runs pro Prompt.
  • Dateien, die HIGHSIGMA enthalten, sind die Runs bei größerem Sigma, die in Abschnitt 4.1 diskutiert werden.
  • Dateien, die SELECT enthalten, sind zusätzliche Runs auf den im Dateinamen aufgeführten Prompts, für Prompts, die mehr als 20 Runs zum Jailbreaken benötigten. Die Kopfzeile jedes Logs erfasst die Sigma-Werte, die Anzahl der Runs, die Prompt-IDs und den Zufallsseed.
  • Llama-3.1-8B/baseline/fixed_baseline.xlsx und die fixed_*-Label-Dateien sind die Label-Dateien nach manueller Verifikation und ersetzen frühere Versionen.

Antwortklassifizierung

Die Antworten wurden von Claude Opus 4.6 mit den JailbreakBench-Judge-Anweisungen klassifiziert, wobei die Log-Datei mit Prompt, Run-Nummer und Antwort übergeben wurde. Jede als unsafe gelabelte Antwort wurde anschließend manuell überprüft. Die Label-Dateien in results/ sind die verifizierten Labels.

Reproduzieren eines Runs

Jedes Notebook unter code/ours/<model>/ wurde auf einer einzelnen NVIDIA A100-SXM4-80GB in Google Colab ausgeführt. Es importiert das passende run_<model>.py, lädt die schädlichen JailbreakBench-Prompts, bildet jeden Prompt durch die Input-Embedding-Schicht des Modells ab, fügt unabhängiges Gaußsches Rauschen N(0, sigma^2) zum vollständigen Prompt-Embedding hinzu und übergibt das perturbierte Embedding an die Transformer-Schichten. Für jeden Prompt sampelt es 20 Rauschmatrizen in einem Batch und hängt jede Antwort an das Log an. Dekodierungsparameter und das Sigma pro Modell sind in Abschnitt 4 und Tab. 3 des Papers aufgeführt und oben in jedem Notebook festgelegt. Das Hugging Face Token wird interaktiv angefordert und nicht in diesem Repository gespeichert. Die Notebooks für die anderen Methoden folgen demselben Muster mit dem entsprechenden substituierten Angriff.

Die Jailbreak-Raten im Paper können allein aus den Label-Dateien neu berechnet werden, ohne ein Modell auszuführen.

Tool herunterladen