Alle nicht aufgeführten Zustandskomponenten sind zu Anfang leer. Es soll nun überprüft werden, ob alle in den -Komponenten enthaltenen Prädikate wahr sind, solange sie dort enthalten sind. Insbesondere also das von nach dem letzten Schritt eingefügte Prädikat ( ). Die Analyse ist eine Zustandsraumsuche auf den erreichbaren Zuständen, durchgeführt vom SH Verification Tool. Wird ein Zustand gefunden in dem ein aktuelles Ziel-Prädikat verletzt ist, kann mit demselben Tool der Weg der dahin führt ausgegeben werden. Eine Analyse auf dem soeben definierten Analyse-APA liefert einen Zustand, welcher das angegebene Prädikat verletzt. Nachfolgend nun der Weg zu diesem Zustand.
Zunächst gibt sich der Angreifer als aus und startet einen Protokoll-Lauf mit . Dazu generiert er eine Zufallszahl und schickt die entsprechende Nachricht an den .
Der Server generiert daraufhin einen neuen Sitzungsschlüssel und eine Nachricht, welche er an 'zurück'schickt.
empfängt dann diese Nachricht, entschlüsselt sie und stellt fest, daß die zweite Komponente dem Namen entspricht. Außerdem kann auf einen von gestarteten Protokoll-Lauf reagieren. D.h. interpretiert diese Nachricht als dritte Nachricht eines von gestarteten Protokoll-Laufs obwohl sie als zweite Nachricht des Protokolls gedacht ist. Entsprechend des oben aufgeführten Zustandsübergangs betrachtet nun (die erste Komponente dieser Nachricht) als neuen Sitzungsschlüssel, generiert eine Zufallszahl und schickt diese verschlüsselt mit an .
Der Angreifer fängt die Nachricht ab, kann sie entschlüsseln (da er kennt), und schickt die Antwort die erwartet.
Schließlich erhält diese Nachricht, entschlüsselt sie und stellt fest, daß sie den Klartext enthält. Also betrachtet von nun an als gültigen Sitzungsschlüssel für die Kommunikation mit . Dadurch wird das Prädikat, welches im letzten Schritt in seine -Komponente einfügt falsch, da es einen Agenten gibt (nämlich ), welcher ebenfalls diesen Schlüssel kennt. Der Angreifer könnte sich jetzt gegenüber als ausgeben.
Dieser Angriff wird als arity-attack bezeichnet (arity heißt Stelligkeit). Er kann verhindert werden, indem beim Erhalt der dritten Nachricht des Protokolls prüft, wieviele Komponenten die Nachricht enthält. Der Angriff ist ebenfalls unmöglich, wenn die Agenten in der Lage sind zwischen Zufallszahlen und Schlüsseln zu unterscheiden. In diesem Fall würde es genügen, wenn bei im dritten Schritt die Voraussetzung hinzugefügt wird.