Wenn Gesetze nichts anderes als Software sind, können sie auch wie Software angegriffen werden
Law Hacking

Die moderne Rechtsordnung erfährt eine kontinuierliche Inflation. Es ist nicht einfach die Regulierungsdichte in Deutschland zu quantifizieren, da sie sich ständig verändert. Der Bundestag veröffentlichte im Juni 2024 die Zahl von 1.797 gültigen Gesetzen und 52.401 Einzelnormen auf Bundesebene. Seit Beginn der vorangegangenen Legislaturperiode waren 52 neue Gesetze und 1.282 Einzelnormen hinzugekommen. Gleichzeitig traten 36 Gesetze mit 1.060 Einzelnormen außer Kraft. Trotz aller Beteuerungen des Bürokratieabbaus, wir sehen eine stetige Zunahme.
Ich möchte im Folgenden auf die (teilweise ideologische) Diskussion, ob die Zunahme gerechtfertigt ist oder nicht, verzichten. Vielmehr stelle ich die Frage, kann man diese Situation beherrschen?
Viele Regelungen enthalten Überlappungen, Widersprüche oder Lücken. Die Zusammenhänge sind kompliziert und die angestrebte Digitalisierung der Rechtsanwendung schafft Herausforderungen.
Ein (nicht mehr ganz) neuer Ansatz versucht durch logische Codierung von Gesetzen die Situation zu entschärfen. Vereinfacht übersetzt bedeutet es, Gesetze in logischen Ablaufstrukturen, und damit vergleichbar mit Softwarecode, zu beschreiben. Leider berücksichtigt er einen zentralen Punkt nur unzureichend. Wenn Gesetze nichts anderes als Software sind, können sie auch wie Software angegriffen werden.
Law as Code – Gesetze als Software
Die Idee, Gesetze wie Programmcode zu behandeln, ist kein Hirngespinst. Verschiedene Ministerien werben seit Jahren für das Konzept „Law as Code“. Also die Vorstellung, dass Rechtsnormen nicht nur für Juristen, sondern auch für Maschinen lesbar und ausführbar sein sollten. Die Annahme ist, dass Gesetze im Grunde nichts anderes sind als Regelwerke mit Bedingungen, Logik und Abhängigkeiten. Genau wie ein Computerprogramm. Diese Entwicklung hat zwei Seiten. Zum einen die Hoffnung, dass Gesetze digitaltauglicher werden. Zum anderen eröffnet es aber auch umfassende automatisierte Angriffsmöglichkeiten.
Stellen Sie sich vor, Sie sind Hacker. Kein Hacker der Verschlüsselungsprogramme zur Erpressung von „Lösegeld“ in fremden Systemen startet, sondern ein Gesetzeshacker. Jemand der Gesetze als ein System mit Regeln, Logik und Schwachstellen betrachtet. Wenn wir Gesetze wie Software behandeln, dann sind sie voller Bugs, die ausgenutzt werden können. Und das nicht nur von Hackern, sondern auch von Unternehmen, Lobbyisten oder Bürgern, die sich durch den Dschungel der Paragrafen schlagen.
Nehmen wir zwei trockene, aber interessante Beispiele: § 320 im Sozialgesetzbuch VI (Gesetzliche Rentenversicherung vom 18.12.1989) und § 238 im Sozialgesetzbuch IX (Rehabilitation und Teilhabe von Menschen mit Behinderung vom 23.12.2016). Beide Paragrafen regeln, was passiert, wenn jemand seine Melde- oder Auskunftspflichten verletzt. Beide sehen Bußgelder vor und enthalten, wenn man sie als Code liest, Lücken, die sich ausnutzen lassen. In der IT-Welt werden Regeln in einer Programmiersprache geschrieben, getestet und auf Fehler überprüft. In der Rechtswelt werden sie in Paragrafenform gegossen, dann aber oft nicht mehr systematisch überwacht. Insbesondere nicht in dem komplizierten Zusammenspiel mit anderen Normen. Dabei sind die Folgen von Fehlern in Gesetzen oft viel schwerwiegender als ein abstürzendes Programm. Sie können Millionen kosten, Ungerechtigkeiten schaffen und gesellschaftliche Systeme aus dem Gleichgewicht bringen.
Werden ähnliche Fehler unterschiedlich bestraft?
Betrachten wir die zwei Bußgeldvorschriften aus dem Bereich der Sozialgesetzgebung. Auf den ersten Blick regeln beide ähnliche Dinge: Auskunfts- und Meldepflichten. Doch während § 320 SGB VI bei einer falschen oder verspäteten Auskunft maximal 2.500 Euro Bußgeld vorsieht, sind es in § 238 SGB IX bis zu 10.000 Euro.
Warum diese Diskrepanz? Auf den ersten Blick denkt man: „Na klar, Behindertenrechte sind wichtiger als Rentenversicherung“. Aber ist das wirklich der Grund? Oder stecken da System, Willkür oder einfach nur „schlampig“ erstellte Gesetze dahinter? Die Antwort: es ist kompliziert. Das SGB VI stammt aus dem Jahr 1989, während das SGB IX 2016 beschlossen wurde. Vielleicht wollte der Gesetzgeber nur mehr Einnahmen generieren. Oder vielleicht wurden die Schutzgüter unterschiedlich gewichtet. Im SGB IX geht es um die Rechte von Menschen mit Behinderungen, die ein zunehmend sensibel behandeltes gesellschaftliches Thema betreffen. SGB VI betrifft „nur“ Verwaltungsvorschriften der Rentenversicherung. Aber rechtfertigt das eine viermal so hohe Strafe für ähnliche Verstöße?
Hier wird es spannend. Inkonsistenzen wie diese sind wie offene Türen für Missbrauch. Wenn wir die beiden Paragrafen als Code betrachten, dann können wir uns fragen: Wie würde ein Hacker diese Schwachstelle ausnutzen?
Die Regulierungsarbitrage – „Ich zahle nur das Minimum“
Die folgende Überlegung ist selbstverständlich nur ein Gedankenexperiment und wäre in ihrer Ausführung illegal. Aber verfolgen wir den Gedanken einmal, was sich jemand denken könnte, wenn er es denn ausnutzen wollte. Ein Arbeitgeber steht vor der Wahl, beide Auskunftspflichten (SGB VI und SGB IX) einzuhalten oder nur eine davon zu erfüllen. Die Bußgeldrahmen spielen dabei eine zentrale Rolle. Da die Strafen im SGB IX deutlich höher sind, könnte der Arbeitgeber strategisch nur die SGB VI-Pflichten vernachlässigen und die SGB IX-Pflichten erfüllen.
Kosten-Nutzen-Rechnung:
- Wenn er beide Pflichten verletzt, drohen theoretisch bis zu 12.500 € Bußgeld.
- Wenn er nur die SGB VI-Pflichten erfüllt, riskiert er maximal 10.000 € (nur SGB IX-Verstoß).
- Wenn er nur die SGB IX-Pflichten erfüllt, riskiert er maximal 2.500 € (nur SGB VI-Verstoß).
Jemand der nur wirtschaftlich optimierend denkt, könnte sich für die Option mit dem geringsten finanziellen Risiko entscheiden. Da die SGB IX-Strafen deutlich höher sind, lohnt es sich für ihn, diese Pflichten sorgfältig einzuhalten – während er bei den SGB VI-Pflichten eher bereit ist Risiken einzugehen, weil die Strafen geringer ausfallen.
In der praktischen Konsequenz würde es bedeuten die SGB IX-Pflichten zu priorisieren. D.h., Verzeichnisführung nach § 163 Abs. 1 SGB IX und Auskünfte nach § 163 Abs. 5 SGB IX werden korrekt erledigt. Die SGB VI-Pflichten würden vernachlässigt und Meldungen nach § 190a SGB VI oder Auskünfte nach § 196 SGB VI werden verspätet oder unvollständig abgegeben. Das kalkulierte Risiko ist, dass der Arbeitgeber akzeptiert, gelegentlich wegen SGB VI-Verstößen bestraft zu werden, solange die Gesamtkosten niedriger sind als die Kosten für die vollständige Einhaltung aller Pflichten.
Die unterschiedlichen Bußgeldrahmen schaffen (theoretisch) ein Anreizsystem nicht alle Pflichten gleich zu behandeln, sondern selektiv diejenigen zu ignorieren, bei denen das Risiko und die finanziellen Belastungen am geringsten sind. Wie bereits erwähnt handelt es sich hier um ein Gedankenexperiment, welches die Inkonsistenzen zeigen soll. Die Betrachtung mit Fokus auf einen Arbeitgeber ignoriert aber ein noch viel gravierenderes Problem. Die unterschiedlichen Rechtsnormen führen zu einer unnötigen Regelungskomplexität, die der Gesetzgeber ja gerade abbauen will. Tabelle 1 zeigt die widersprüchliche Bewertung der beiden Normen.
| Kategorie | Widerspruch / Inkonsistenz | mögliche Bewertung |
| Sanktionen | 2.500 € (SGB VI) vs. 10.000 € (SGB IX) für ähnliche Tatbestände | Möglicher Verstoß gegen Art. 3 GG (Gleichheitsgrundsatz), wenn nicht sachlich gerechtfertigt. |
| Vorsatz/Fahrlässigkeit | Leichtfertigkeit (SGB VI) vs. Fahrlässigkeit (SGB IX) | Inkonsistente Schwellen: Warum wird im SGB IX schon einfache Fahrlässigkeit bestraft? |
| Verwaltungsbehörde | Nicht geregelt (SGB VI) vs. Bundesagentur für Arbeit (SGB IX) | Rechtliche Lücke im SGB VI: Wer ist zuständig? |
| Bußgeldverwendung | Keine Regelung (SGB VI) vs. Kasse der Verwaltungsbehörde (SGB IX) | Systematische Ungleichbehandlung: Warum fließen die Gelder im SGB IX in die Bundesagentur? |
| Pflichtenkatalog | Unterschiedliche Pflichten (z. B. Verzeichnisführung nur in SGB IX) | Kein direkter Widerspruch, aber Komplexität für Arbeitgeber. |
Um die identifizierten Schwachstellen im Beispiel zu beheben, sollte zunächst eine Harmonisierung der Bußgeldrahmen für ähnliche Tatbestände in § 320 SGB VI und § 238 SGB IX erfolgen, um Regulierungsarbitrage zu verhindern und eine gleichmäßige Compliance zu fördern.
Das ist doch ein Einzelfall…
Leider nein. Mit Hilfe der Analysesoftware CASSA konnten wir im SGB VI eine nicht unerhebliche Anzahl potenzieller „Bugs“ und Widersprüche finden. Dazu wurden alle Einzelnormen des SGB VI in „atomare Bestandteile“ zerlegt und einem mehrstufigen paarweisen Vergleich unterzogen. Die 495 Paragrafen wurden in 2615 „semantische Elemente“ aufgeteilt. Diese „semantischen Elemente“ miteinander zu vergleichen ist mathematisch aufwendig. Theoretisch ergeben sich 3.417.805 Kombinationen (vollständiger Graph aus n * (n -1) / 2 Element-Kombinationen). Die Rechenzeit und -kosten für diese Menge ist nicht unerheblich. Deshalb wurde mit einem mathematischen Trick die Anzahl der betrachteten Kombination auf rund 25.000 zu vergleichende Elemente reduziert. Unter der Vorgabe einer gleitenden Bewertung für eine mögliche Kollision der Elemente zwischen:
- 1 ≙ kein Regelungskonflikt
- 0 ≙ vollständiger Regelungskonflikt
wurden die ausgewählten Kombinationen bewertet. Die Schwellwerte zwischen 0.1 und 0.4 der identifizierten Regelungskonflikte ergeben im SGB VI:
- Schwellwert 0,1 = 92 Regelungskonflikte
- Schwellwert 0,2 = 97 Regelungskonflikte
- Schwellwert 0,3 = 134 Regelungskonflikte
- Schwellwert 0,4 = 512 Regelungskonflikte
Nicht alle Treffer sind als potenzielle Schwachstelle zu werten, da z.B. auch abweichende zeitliche Regelungen im Gesetz erkannt werden. Zum Beispiel Regelungen vor und nach einem Stichtag.
Grundsätzlich ist es aber nicht schwer sich vorzustellen, dass allein bei über 1.800 Bundesgesetzen eine erhebliche Anzahl an Regelungskonflikten im Korpus der bundesdeutschen Gesetzgebung vorliegt. Alles Zero-Day Schwachstellen im Recht. Das Video zeigt die Dichte der Schwachstellen des SGB VI für die genannten Schwellwerte. Die bestehende Gesetzeslandschaft von diesen „Bugs“ zu befreien ist aufwendig und kann nur mit Hilfe modernster Computermodelle gelingen.
Warum wir einen Virenscanner für Gesetze brauchen
Das Beispiel zeigt, dass Gesetze Schwachstellen haben, die ausgenutzt werden könnten. Aber warum ist das ein Problem? Weil es nicht nur um Einzelfälle geht, sondern um Systemversagen.
Gesetze sind komplizierter als je zuvor. Unser Rechtssystem wird dabei immer unübersichtlicher. Allein das Sozialgesetz umfasst dreizehn Bücher, jedes mit Hunderten von Paragrafen, Verweisen und Ausnahmen. Kein Mensch kann das vollständig überblicken. Wenn selbst Juristen nicht mehr sicher wissen, was gilt, dann haben wir ein strukturelles Problem.
In der IT würde niemand auf die Idee kommen, ein Betriebssystem ohne Sicherheitsupdates zu betreiben. In der Rechtswelt werden die Beziehungen zwischen Gesetzen oft nicht überprüft – obwohl sich die Gesellschaft, die Wirtschaft und die Technologie rasant verändern.
Manuelle Prüfung reicht nicht aus
Bisher wird „Law as Code“ oft so verstanden, dass Gesetze manuell in maschinell lesbare Form gebracht werden. Das ist ein erster Schritt, aber bei Weitem nicht genug. Menschliche Fehler entstehen, selbst wenn die besten Juristen Gesetze von Hand prüfen und modellieren. Die manuelle Überführung der vorhandenen Gesetzesbasis ist aber unmöglich, auch weil Gesetze sich durch Novellen, Urteile oder neue Interpretationen ständig ändern. Eine statische Übersetzung in Code wäre schnell veraltet und würde bestehende „Bugs“ übertragen und neue erzeugen.
Automatisierung ist der einzige Weg, wenn wir Gesetze sicher und fehlerfrei(er) machen wollen. Dann braucht es automatisierte Tools wie in der IT.
Ein „Legal Vulnerability Scanner“ kann Gesetze automatisch auf Inkonsistenzen, Lücken und veraltete Regelungen prüfen – ähnlich wie ein Virenscanner ein Computersystem nach Malware durchsucht. Mit Hilfe statistischer Analysen werden Gesetzestexte nach Mustern geprüft, die Schwachstellen wie inkonsistente Bußgeldrahmen, doppelte Meldepflichten, obsolete Tatbestände oder unklare Begriffe finden. Der Vorteil ist, dass eine erste maschinelle Prüfung in Teilbereichen innerhalb von Tagen durchgeführt werden kann, anstatt Monate oder Jahre zu brauchen, bis Juristen alles manuell übersetzt haben. Eine dynamische Analyse kann durch Simulation von Anwendungsfällen das System testen, wie Gesetze in der Praxis funktionieren. Zum Beispiel um zu prüfen: „Was passiert, wenn ein Arbeitgeber beide Auskunftspflichten (SGB VI und SGB IX) verletzt?“ und „Führt das zu einer doppelten Bestrafung – oder gibt es eine Regelung, die das verhindert?“.
Finale Ausbaustufe: „BSI für Recht“ als zentrale Institution für Rechtssicherheit
Genau wie das Bundesamt für Sicherheit in der Informationstechnik (BSI) für die IT-Sicherheit zuständig ist, könnte ein „Bundesamt für Rechtssicherheit“ die Prüfung von Gesetzen vor ihrer Verabschiedung durchführen. Weiterhin ist es bei der Umsetzung von Law as Code mehr als angebracht eine Schwachstellen-Datenbank, ähnlich wie die CVE-Datenbank (Common Vulnerabilities and Exposures) für IT-Sicherheitslücken, der Rechtslücken zu führen. Dort würden bekannte Inkonsistenzen, Lücken und veraltete Regelungen dokumentiert und zusammen mit Lösungsvorschlägen an den Gesetzgeber kommuniziert. Das erleichtert und beschleunigt die Entwicklung von „Patches“ für Gesetze und „Software-Updates“ für das Rechtssystem. Als Startpunkt für eine solche Organisation kann vielleicht auch der Normenkontrollrat dienen.
Gesetze sind auch nur Code – und der hat Bugs
Ein „Virenscanner für Gesetze“ identifiziert mit diesem Verfahren die Ansatzpunkte des Bürokratieabbaus und der Vereinfachung von Normen und Vorgaben.
Gesetze sind nicht perfekt. Sie enthalten Inkonsistenzen, Lücken und obsolete Regelungen – genau wie schlechter Code. Und genau wie bei Software können diese Schwachstellen ausgenutzt werden, mit teilweise erheblichem Schaden für Staat, Unternehmen und Bürger.
Die gute Nachricht: Wir haben die Tools, um das zu ändern.
- KI kann Gesetze viel schneller als jeder Mensch scannen und genau, wie heute Code, auf Schwachstellen prüfen.
- Automatisierte Analysen können effizient Inkonsistenzen aufdecken, bevor sie ausgenutzt werden.
- Ein „BSI für Recht“ könnte die Resilienz unseres Rechtssystems stärken.
Am Ende geht es nicht darum, Juristen durch Algorithmen zu ersetzen, sondern darum, ihnen bessere Werkzeuge an die Hand zu geben. Denn wenn Gesetze wie Code sind, dann sollten wir sie auch wie Code behandeln – mit allen Vorteilen, die das mit sich bringt: Schnelligkeit, Präzision und Skalierbarkeit. Nur ein vollständig automatisierter Scan der Gesetzeslandschaft, ähnlich einem Virusscanner in der Informatik, wird es erlauben die Ausgangsbasis für Law as Code zu legen. Die bisher propagierte manuelle Überführung von Gesetzen in maschinenlesbare Formate wird an der Skalierung scheitern. Der praktikable Weg ist genau umgekehrt. Erst alle Gesetze vollautomatisch in eine analysierbare Struktur bringen, darin die Schwachstellen identifizieren und so weit wie möglich legislativ beheben und dann in die Digitalisierung gehen. Vermeiden wir das Pferd mal wieder „von hinten aufzuzäumen“.
Und wer weiß… vielleicht wird „der nächste große Hacker“ nicht mehr Banken knacken und Unternehmen terrorisieren, sondern Gesetze verbessern. Das wäre doch eine nützlichere Revolution für uns alle.
Anmerkung: dieser Text stellt keine Rechtsberatung dar und dient lediglich der Information zum Thema Law as Code