Jun 24, 2026 von Raphael Heer

In der modernen Software-Entwicklung führt kaum noch ein Weg an ihnen vorbei: Large Language Models (LLMs). Ob als smarter Kundensupport, Coding Assistant oder internes Wissensmanagement, die Integration von KI-Schnittstellen boomt. Doch während Entwickler versuchen, die zugrunde liegende Technologie hinter abstrakten Chat-Interfaces zu verbergen, stellt sich für Security-Experten eine entscheidende Frage: Welches Modell arbeitet eigentlich im Hintergrund?
Die Anbindung eines LLMs an eine Webapplikation erfolgt meist über eine API-Schnittstelle zu Providern wie OpenAI, Google oder Anthropic, oder über selbst gehostete Instanzen (z. B. via vLLM oder Ollama). Für den Nutzer – und damit auch für einen potenziellen Angreifer – bleibt das Modell zunächst eine Blackbox.
Hinter den Kulissen wird der Benutzer-Input meist mit einem sogenannten System-Prompt angereichert. Dieser definiert die Rolle der KI («Du bist ein hilfreicher Assistent der Schuhhandlung XYZ») und setzt Sicherheitsleitplanken. Aus der Perspektive des Red Teamings ist die Identifikation des Modells («Fingerprinting») der erste kritische Schritt der Enumerierung. Wer das Modell kennt, kennt auch dessen spezifische Schwachstellen, bekannte Jailbreak-Vektoren und typische Halluzinationen.
Klassisches Software-Fingerprinting ist weitgehend deterministisch. Wir prüfen HTTP-Header, analysieren das Verhalten von TCP-Stacks oder provozieren Fehlermeldungen, um Versionen von Webservern oder Datenbanken zu bestimmen.
Bei LLMs stehen wir vor einer neuen Herausforderung: Stochastik. Da LLMs auf Wahrscheinlichkeiten basieren, ist ihre Antwort auf denselben Input nicht immer identisch. Zudem können System-Prompts das Antwortverhalten massiv verzerren. Ein effektives LLM-Fingerprinting setzt daher weniger auf einfache Signaturen, sondern oft auf heuristische Methoden und statistische Analysen des Outputs.
Das Ziel bleibt jedoch dasselbe: Die Identifikation der Modell-Familie (z. B. GPT-4) und idealerweise der spezifischen Version (z. B. GPT-4o-2024-05-13).
Die Forschung der letzten Monate und Jahre hat verschiedene aktive Techniken hervorgebracht, um die Identität eines LLMs hinter einer API zu erzwingen:
Ein vielversprechendes Werkzeug in diesem Bereich ist LLMmap. Die Entwickler dieses Tools haben hierbei ein eigenes, lokal laufendes KI-Modell zur Klassifizierung von LLMs trainiert. Basierend auf acht Prompts, welche auf den zuvor diskutierten Techniken beruhen, wertet dieses Modell aus, um welches LLM es sich hierbei handeln könnte.
Da die KI-Landschaft jedoch extrem schnelllebig ist, veralten die Trainingsdaten solcher Tools innerhalb weniger Monate. Zudem müssen die Antworten auf die acht Prompts jeweils händisch kopiert und an das Modell übergeben werden.
Im Rahmen eines internen Projekts haben wir diesen Ansatz aufgegriffen und erweitert:
1. Aktualisierung des Datensatzes: Wir haben das Trainingsset um die neuesten Iterationen Gemini Modelle von Google und die neuesten Claude Modelle von Anthropic ergänzt.
2. Automatisierung: Ein von uns entwickeltes Script automatisiert die Abfrage von acht spezifischen Sonden-Prompts an eine Ziel-API.
3. Klassifizierung: Die Antworten werden durch das aktualisierte Modell von LLMmap geleitet, um eine statistische Wahrscheinlichkeit für den verwendeten Modelltyp zu erhalten.
Das daraus resultierende Tool wurde anschliessend getestet. Im Folgenden ist die Konsolenausgabe des Tools beim Test mit einer lokalen API zu sehen. Nachdem die Antwort der insgesamt acht Queries empfangen wurden, wertete LLMmap die Ergebnisse auf Basis des lokalen KI-Models aus.
$ python3 request_api.py --connector llm-proxy
Loading Embedding Model...
Pre-comupting Queries embeddings...
Model ready for inference.
Sending queries to API
Query 1/8... oK
Query 2/8... 0K
Query 3/8... OK
Query 4/8... OK
Query 5/8... OK
Query 6/8... OK
Query 7/8... OK
Query 8/8... OK
Prediction:
[Distance: 21.8505] --> claude-sonnet-4-6 <--
[Distance: 22.1653] claude-sonnet-4-5-20250929
[Distance: 22.1786] claude-haiku-4-5-20251001
[Distance: 25.4423] claude-opus-4-1-20250805
[Distance: 35.6339] meta-llama/Llama-3.2-3B-Instruct
Das Resultat: Die Modell-Familie wurde über mehrere Durchläufe hinweg zuverlässig erkannt. Innerhalb der Modell-Familien variierte das Ergebnis zwischen mehreren Durchläufen allerdings leicht. Einige der vorgenommenen Anpassungen wurden als Pull-Request an das Originale Repository zurückgegeben.
LLM-Fingerprinting ist weit mehr als eine technische Spielerei. Es ist ein essenzieller Bestandteil moderner Security-Audits. Dennoch bleibt die Reproduzierbarkeit die grösste Hürde: Ein Update des System-Prompts oder eine leichte Anpassung der «Temperature» (Kreativität) des Modells kann das Fingerprinting-Ergebnis beeinflussen.
Für Entwickler bedeutet dies: Security by Obscurity funktioniert auch bei KI nicht. Wer sich darauf verlässt, dass niemand merkt, welches Modell im Hintergrund arbeitet, lässt eine Flanke für gezielte Angriffe offen. Die Härtung der KI-Schnittstellen muss daher immer unabhängig vom Modell und tiefgreifend erfolgen.
Haben Sie Fragen zur Sicherheit Ihrer LLM-Integrationen oder möchten Sie Ihre Webapplikationen und KI-Schnittstellen auf Herz und Nieren prüfen lassen? Unsere Experten unterstützen Sie gerne mit umfassenden Security-Audits und Red Teaming Assessments, um Schwachstellen zu identifizieren, bevor sie ausgenutzt werden können.
Kontaktieren Sie uns für ein unverbindliches Gespräch. Wir helfen Ihnen dabei, Ihre Applikationen auch im Zeitalter der generativen KI sicher zu betreiben.