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
Perturbed-Embedding-Vectors — Code, Antwortprotokolle und Labels für das Paper Jailbreaking Open-Weight LLMs via Random Embedding Perturbations | Kitploit
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
677vor 3 TagenNoch nicht geprüft

Jailbreaking von Open-Weight-LLMs mittels zufälliger Embedding-Perturbationen: Läufe, Labels und Code

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

Link zum Preprint des Papers – https://arxiv.org/abs/2610.07125

Verfasst von den großartigen Leuten des Theoretical Computer Science Department 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, sowie 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.

Aufbau

code/
  inference/             run_<model>.py: model loading, prompt construction and the manual
                         generation loop that every PEV notebook imports
  ours/<model>/          PEV notebooks for one model
  ours/<model>/fixed_peak_sigma/
                         notebooks for the fixed peak sigma runs (GLM-4-9B, Phi-4-mini,
                         Qwen2.5-1.5B); their logs are in results/<model>/ours/fixed_peak_sigma/
  igcg/                  I-GCG, one notebook per model
  latentfusion/          LatentFusion, one notebook per model
  refusalcones/          RefusalCones, one notebook per model
  softprompt/            SoftPrompt notebooks (Llama-3.1-8B and Mistral-7B)
  figures/               notebook that draws the paper figures
results/<model>/
  baseline/              direct responses to the unperturbed prompts (.txt log) and their
                         labels (.xlsx / .csv); these give the baseline jailbreak rate
  ours/raw_responses/    PEV response logs from the sigma sweeps, split by prompt range
  ours/classified/       labels for those responses, split the same way
  ours/fixed_peak_sigma/ PEV runs at the fixed peak sigma of the model (GLM-4-9B, Phi-4-mini,
                         Qwen2.5-1.5B): the full 100-prompt sweep and the SELECT re-runs
  igcg/ latentfusion/ neurostrike/ refusalcones/ softprompt/
                         responses (.txt) and labels (.xlsx) for the other methods

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

Wo sich der Code der einzelnen Methoden befindet:

MethodeSpeicherort
PEVcode/ours/<model>/; Läufe 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 landen in 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 Kopf jeder Datei dokumentiert sind. Das Llama-Skript benötigt ein Hugging-Face-Token, da der Checkpoint zugriffsbeschränkt ist; das Token wird aus der Umgebung gelesen und nie gespeichert.

Dateikonventionen

  • Antwortprotokolle (.txt) sind reine Anhänge-Protokolle, die von den Notebooks geschrieben werden. Jeder Eintrag erfasst den Prompt-Index, den Rauschpegel Sigma, sofern zutreffend, die Laufnummer und die vollständige Modellantwort. Die Dateinamen tragen den Prompt-Bereich (p001_to_p025 bedeutet Prompts 1 bis 25 der 100 schädlichen JailbreakBench-Prompts) und den UTC-Zeitstempel des Laufs. Die Wanduhrzeit wird nach jedem Batch von 20 Läufen 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 gilt als jailbroken, wenn einer seiner Läufe als unsafe gelabelt ist. Dateien mit Namen wie *_categorization* oder *_p01_25 sind die gelabelten Versionen des Protokolls mit demselben Prompt-Bereich.
  • Läufe 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 Läufen bei diesem Sigma. Die Dateien SELECT_..._nNN sind Folge-Läufe beim selben Sigma auf den im Dateinamen aufgeführten Prompts, mit NN Läufen pro Prompt.
  • Dateien, die HIGHSIGMA enthalten, sind die Läufe bei größerem Sigma, die in Abschnitt 4.1 diskutiert werden.
  • Dateien, die SELECT enthalten, sind zusätzliche Läufe auf den im Dateinamen aufgeführten Prompts, für Prompts, die mehr als 20 Läufe zum Jailbreaken benötigten. Die Kopfzeile jedes Protokolls zeichnet die Sigma-Werte, die Anzahl der Läufe, die Prompt-IDs und den Zufalls-Seed auf.
  • 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 Protokolldatei mit dem Prompt, der Laufnummer und der Antwort übergeben wurde. Jede als unsafe gelabelte Antwort wurde anschließend von Hand geprüft. Die Label-Dateien in results/ sind die verifizierten Labels.

Einen Lauf reproduzieren

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 Eingabe-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 gestörte Embedding an die Transformer-Schichten. Für jeden Prompt werden 20 Rauschmatrizen in einem Batch gezogen und jede Antwort an das Log angehängt. Die Decoding-Parameter und das modellspezifische Sigma sind in Abschnitt 4 und Tab. 3 des Papers aufgeführt und oben in jedem Notebook festgelegt. Das Hugging-Face-Token wird interaktiv abgefragt 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