
Hooks
Ein Hook ist eine vorgesehene Stelle in einem Programm, an der eigener Code automatisch mitläuft, sobald ein bestimmtes Ereignis eintritt. Entwickler nutzen Hooks, um fremde Software zu erweitern, ohne deren Innenleben umzubauen.
Ein Programm besteht aus vielen Arbeitsschritten, die in einer festen Reihenfolge ablaufen. Manchmal möchte man an einer dieser Stellen etwas Eigenes einschieben. Ein Hook ist genau so eine vorbereitete Einstiegsstelle. Man hinterlegt dort eine eigene Anweisung, und das Programm ruft sie von selbst auf, sobald es an dieser Stelle vorbeikommt. Der englische Begriff bedeutet Haken: man hängt seinen eigenen Code in den Ablauf eines fremden Programms ein. Wichtig ist, dass man dafür das fremde Programm nicht verändern muss.
Warum Software durch Haken erweiterbar wird
Große Programme werden selten von einem einzigen Team geschrieben. Ein Browser, ein Onlineshop oder ein Textprogramm soll von außen erweitert werden können. Ohne Hooks müsste jeder, der etwas ergänzen will, den Originalcode aufschneiden. Das ist heikel, weil beim nächsten Update alle Änderungen verloren gehen. Hooks lösen das Problem elegant: Die Hersteller legen fest, an welchen Stellen fremder Code andocken darf.
Daraus entstehen ganze Erweiterungs-Ökosysteme. Ein Werbeblocker im Browser hängt sich an den Moment, in dem eine Internetseite geladen wird. Ein Rechnungsmodul in einem Shopsystem hängt sich an den Moment, in dem eine Bestellung abgeschickt wird. Beide Erweiterungen kennen den restlichen Code nicht und müssen ihn auch nicht kennen.
Es gibt aber eine Kehrseite. Wer sich an eine zentrale Stelle hängt, kann dort viel Schaden anrichten. Ein langsamer Hook bremst das ganze Programm, ein fehlerhafter bringt es zum Absturz. Auch Schadsoftware nutzt diese Technik, um heimlich Tastatureingaben mitzulesen. Deshalb schränken moderne Betriebssysteme streng ein, wer sich wo einhängen darf.
Vom Ereignis zum eingehängten Code
Technisch läuft das über Registrierung. Das Hauptprogramm führt eine Liste von Ereignissen, etwa „Datei wurde gespeichert“ oder „Nutzer hat geklickt“. Eine Erweiterung meldet dort eine eigene Funktion an, also einen kleinen benannten Codeabschnitt. Tritt das Ereignis ein, arbeitet das Programm seine Liste ab und ruft alle angemeldeten Funktionen auf. Danach macht es mit seiner eigentlichen Aufgabe weiter.
Manche Hooks dürfen nur zuschauen, andere dürfen eingreifen. Ein reiner Beobachter schreibt zum Beispiel eine Zeile ins Protokoll. Ein eingreifender Hook kann Daten unterwegs verändern oder den Vorgang ganz abbrechen. In einem Shopsystem lässt sich so eine Bestellung mit ungültiger Adresse stoppen, bevor sie gespeichert wird.
Ein verwandter Begriff ist die Programmierschnittstelle, kurz API. Bei einer API rufe ich das fremde Programm aktiv auf, wenn ich etwas brauche. Bei einem Hook ist es umgekehrt: das fremde Programm ruft mich, sobald etwas passiert. Fachleute nennen das gelegentlich das Hollywood-Prinzip nach dem Satz „Rufen Sie uns nicht an, wir rufen Sie an“.
Hooks in KI-Werkzeugen, Webseiten und Alltagsgeräten
In der KI-Entwicklung sind Hooks Alltag. Beim Training eines Modells, also der Lernphase, will man den Fortschritt beobachten. Man hängt einen Hook ein, der nach jedem Lernschritt die aktuelle Fehlerrate notiert. Andere Hooks speichern Zwischenstände oder brechen ab, wenn sich nichts mehr verbessert. Auch Sicherheitsfilter, die problematische Antworten abfangen, sitzen an solchen Einstiegsstellen.
Im Web trifft man auf sogenannte Webhooks. Dabei ruft ein Dienst über das Internet eine Adresse auf, die man vorher hinterlegt hat. Bezahldienste melden auf diesem Weg jede eingegangene Zahlung an den Shop. Beliebt sind Hooks außerdem in Redaktionssystemen für Webseiten, wo Erweiterungen fast ausschließlich darüber funktionieren.
In Nachrichten begegnet der Begriff meist in zwei Zusammenhängen. Entweder geht es um Plattformen, die Entwicklern neue Hooks anbieten und damit mehr Erweiterungen ermöglichen. Oder es geht um Sicherheitslücken, bei denen Angreifer sich unerlaubt in Systemabläufe eingehängt haben. Ein häufiger Irrtum ist übrigens, Hooks für etwas Verstecktes zu halten. Meist sind sie sauber dokumentiert und ausdrücklich zur Nutzung gedacht.