StruQ
StruQ („Structured Queries“) ist eine Forschungsreferenz der UC Berkeley für die modellseitige Trennung von vertrauenswürdiger Anweisung und unzuverlässigen Daten. Das System kombiniert ein kontrolliertes Eingabe-Frontend mit einem speziell feinabgestimmten Sprachmodell, das Instruktionen im Datenbereich ignorieren soll.1 Es richtet sich an eigene, lokal oder selbstverwaltet betriebene Modelle und nicht an eine universell zwischengeschaltete Schutz-API.1
Funktionsweise
Die Architektur besteht aus zwei Teilen. Das Secure Front-End nimmt Prompt und Daten getrennt entgegen, baut daraus ein festes Format mit reservierten Sondertoken und filtert Zeichenfolgen, die dieses Format imitieren oder aufbrechen könnten.2 Dahinter steht ein ursprünglich nicht instruktionsfeinabgestimmtes Basismodell, das durch „structured instruction tuning“ lernt, Anweisungen vor der Abgrenzung zu befolgen und im Datenkanal nicht als Steuerbefehle zu behandeln.2 In den Trainingsdaten stehen dafür neben normalen Beispielen auch Beispiele, in deren Datenfeld zusätzliche Anweisungen liegen; das Soll-Ziel bleibt jeweils die Antwort auf die legitime Aufgabe.2
Der Sicherheitsgewinn beruht somit nicht allein auf Begrenzern im Prompt. Entscheidend ist die Kombination aus Tokenreservierung, zuverlässigem Filter und Training auf der Semantik dieser Trennung.2 Werden reservierte Markierungen aus einem Nutzertext nicht entfernt oder umgeht eine Anwendung das Front-End, verliert das Modell die angenommene Eingabestruktur. Das ist ein wichtiger Unterschied zu einer bloßen Prompt-Konvention und begründet, warum StruQ als Forschungsansatz unter den Techniken zur Modellhärtung einzuordnen ist.
Einsatz in der Praxis
Die Referenzimplementierung stellt Python-Code, ein Installationsschema und Skripte für Training und Auswertung bereit. Sie wurde laut README auf einem Slurm-Cluster mit 80-GB-A100-GPUs erprobt; für das Training sind vier GPUs, für Tests eine GPU vorgesehen.3 Das Repository bietet außerdem den Download von vier Beispielmodellen und dokumentiert 52.000 Trainingsbeispiele, von denen ein Teil mit simulierten Eingaben im Datenfeld ergänzt wird.3 Die konkrete Einbindung verlangt daher, die Anwendung so umzubauen, dass sie Prompt und Dokumentdaten getrennt an das eigene Modell-Serving übergibt und die Filterung vor der Tokenisierung verbindlich durchsetzt.
Zum Stichtag gibt es keine getaggte oder veröffentlichte Release-Version. Die GitHub-Metadaten führen das Repository als öffentlich, nicht archiviert und zuletzt am 10. November 2025 gepusht.4 Zugleich verweist das README ausdrücklich auf SecAlign als flexiblere und aktiv gepflegte Implementierung.3 Das ist keine formelle Einstellung von StruQ, aber ein starkes Signal, StruQ vor allem als reproduzierbare Referenz der USENIX-Security-2025-Publikation zu behandeln, nicht als schnell weiterentwickeltes Produkt.1
Grenzen
Das eigene Paper benennt die Grenze selbst: StruQ sei noch nicht vollständig sicher. Die Autor:innen berichten zwar für getestete manuell formulierte Angriffe Erfolgsraten unter zwei Prozent, für einen optimierungsbasierten GCG-Test auf Llama jedoch 58 Prozent; diese Werte gelten ausschließlich im veröffentlichten Evaluationsaufbau.2 Eine unabhängige White-Box-Studie von 2025 erzielte mit architekturbezogenen, adaptiven Verfahren hohe Erfolgsraten gegen StruQ und andere feinabstimmungsbasierte Abwehren.5 Dies widerlegt nicht den Nutzen der Strukturtrennung für das Basisszenario, zeigt aber, dass sie keine belastbare Sicherheitsgrenze gegenüber starken, modellkundigen Angreifern darstellt.
Auch die Funktionalität ist eingeschränkt: Das System behandelt zwei Vertrauensstufen, Prompt und Daten. Spätere Ansätze mit einer mehrstufigen Instruktionshierarchie modellieren zusätzliche Rollen wie System, Nutzer und Werkzeugausgabe.6 Unabhängig davon ersetzt eine robuste Modellantwort weder minimale Werkzeugberechtigungen noch Transaktionsfreigaben oder separate Output-Prüfungen. Diese Schichten sollten bei jeder Anwendung von StruQ zusätzlich geplant werden.
Lizenz und Bezug
StruQ ist als öffentliches Forschungsrepository verfügbar, jedoch ebenfalls nicht kommerziell lizenziert: Der enthaltene Lizenztext lautet CC BY-NC 4.0.7 Er gestattet Bearbeitung und Weitergabe nur für nicht-kommerzielle Zwecke unter Attribution und Lizenzhinweis.7 Einen Preis, SaaS-Zugang oder kommerziellen Support nennt das Projekt nicht. Für ein Produktivvorhaben ist daher insbesondere die fehlende kommerzielle Nutzungsfreigabe maßgeblich; der Wechsel zu einem anderen Modell oder zu eigenem Code beseitigt die Anforderungen der übernommenen Bestandteile nicht automatisch.7
Quellen
- Chen et al., „StruQ: Defending Against Prompt Injection with Structured Queries“, USENIX Security Symposium, August 2025, https://www.usenix.org/conference/usenixsecurity25/presentation/chen-sizhe ↩
- Chen et al., „StruQ: Defending Against Prompt Injection with Structured Queries“, 25.09.2024, https://arxiv.org/html/2402.06363 ↩
- Chen, „Sizhe-Chen/StruQ – README“, abgerufen am 20.08.2026, https://github.com/Sizhe-Chen/StruQ ↩
- GitHub, „Sizhe-Chen/StruQ – Repository metadata and releases“, abgerufen am 20.08.2026, https://api.github.com/repos/Sizhe-Chen/StruQ und https://api.github.com/repos/Sizhe-Chen/StruQ/releases ↩
- Pandya et al., „May I have your Attention? Breaking Fine-Tuning based Prompt Injection Defenses using Architecture-Aware Attacks“, 17.12.2025, https://arxiv.org/html/2507.07417 ↩
- Chen et al., „Meta SecAlign: A Secure Foundation LLM Against Prompt Injection Attacks“, 06.02.2026, https://arxiv.org/html/2507.02735 ↩
- Chen, „StruQ LICENSE.txt: Creative Commons Attribution–NonCommercial 4.0 International“, abgerufen am 20.08.2026, https://raw.githubusercontent.com/Sizhe-Chen/StruQ/main/LICENSE.txt ↩