Ein MOAD-Scanner als Permakultur-Praxis
Das erste Prinzip der Permakultur: beobachten, bevor man handelt. Verbringe Zeit im System, das du verändern möchtest. Verstehe seine Flüsse, Ansammlungen und Abfallströme, bevor du deine Intervention gestaltest. Ein Gärtner, der beobachtet, wo sich Wasser sammelt, wo Sonnenlicht hinfällt und wo sich Nährstoffe konzentrieren, platziert Pflanzen effektiver als jemand, der einem generischen Plan folgt.
Ein MOAD-Scanner wendet dieses Prinzip auf Software-Ökosysteme an. Bevor du ein einziges Issue eröffnest, scanne über Projekte und Sprachen hinweg. Kartiere die Verteilung des Defekts: Wie viele Projekte tragen CWE-407? Welche enthalten ihn in stark frequentierten Pfaden? Welche Upstream-Pakete würden, wenn sie gepatcht werden, den Fix an die meisten Abhängigen weitergeben? Beobachte das Ökosystem, bevor du an einem einzelnen Knoten handelst.
Stelle dies der extraktiven Praxis gegenüber: Entdecke eine Schwachstelle, verkaufe sie an einen Vulnerability-Broker, kassiere die Zahlung und ziehe weiter. Der Forscher hat finanzielles Kapital aus dem Wissen extrahiert und ist gegangen. Kein Wissen wurde weitergegeben. Kein System wurde verbessert. Zukünftige Nutzer aller betroffenen Projekte blieben verwundbar. Der Broker hält das Wissen, dessen Wert mit dem Alter der Schwachstelle ohne Offenlegung verfällt.
Permacomputer-Praxis: einen Defekt entdecken, ihn patchen, ihn offenlegen, ihn upstream einreichen und den Patch als Public Domain veröffentlichen. Das Wissen verbreitet sich ohne Verfall — es vermehrt sich sogar: die offengelegte CVE wird zu einer Referenz, ein MOAD-Post lehrt das Muster, zukünftige Forscher finden mit demselben Muster neue Instanzen. Ein geschlossener Kreislauf statt einer terminalen Extraktion.
Permakultur-Beobachtung geht der Permakultur-Aktion voraus. Der Scan erzeugt Daten über Surge-Scores, Abhängigkeitsgraphen und betroffene Knotenanzahlen, bevor ein Patch bewegt wird. Diese Daten bestimmen, welche Patches zuerst ausgeliefert werden: Knoten mit hoher Betweenness vor Blattknoten, weil eine Korrektur einer weit verbreiteten Bibliothek pro Aufwandseinheit weiter propagiert.
Keine Verschwendung erzeugen: Drei Offenlegungspfade
Drei Wege, die ein Forscher nach der Entdeckung einer kritischen Schwachstelle in einer beliebten Open-Source-Bibliothek einschlagen kann:
A. Sie an einen Vulnerability-Broker für 10.000 $ verkaufen.
B. Sie privat dem Maintainer mit einem 90-Tage-Offenlegungszeitraum melden und anschließend unabhängig vom Patch-Status veröffentlichen.
C. Sofort einen Patch als Pull-Request einreichen und gleichzeitig eine öffentliche Offenlegung vornehmen.
Compounding in Open Systems
Das zweite Prinzip der Permakultur: Energie auffangen und speichern, wenn sie reichlich fließt, damit du Reserven hast, wenn sie nicht fließt. Ein Regenwassersammelsystem speichert Wasser während Stürmen für die Nutzung in trockenen Monaten. Ein Food Forest speichert Sonnenenergie als Früchte und Biomasse über die Jahreszeiten hinweg. Das Ziel: den Zeitpunkt der Speicherung an den Zeitpunkt des Überflusses anzupassen.
Hammings Compound Knowledge: Jede neue Technik verbindet sich mit deiner Liste wichtiger Probleme und multipliziert die produktive Ausgabe. Eine einzelne Erkenntnis über Information Entropy hat für Shannon ein Jahrzehnt theoretischer Arbeit freigeschaltet, weil sie sich gleichzeitig mit jeder offenen Frage auf seiner Liste verband. Das gespeicherte Wissen zahlte Zinseszins.
Open-Source-Compounding funktioniert anders als individuelles Compounding. Ein Fix, der in ein kanonisches Repository eingefügt wird, speichert Energie an einem Ort, von dem jeder nachgelagerte Fork automatisch profitiert. Ein Patch, der 2022 in Pythons asyncio-Bibliothek eingereicht wurde, verbreitete sich auf jedes Projekt, das diese Bibliothek nutzt, ohne zusätzliches Zutun des ursprünglichen Forschers. Die Energie speichert sich an der Quelle und vermehrt sich über den Abhängigkeitsgraphen.
MOAD-Artikel speichern Energie anders: Jeder Beitrag vermittelt das Scan-Muster und nicht nur die konkrete Instanz. Ein Forscher, der den CWE-407-MOAD-Artikel liest, lernt nicht nur, dass Projekt X eine Flush-Schwachstelle hatte, sondern wie das Flush-Muster in jeder Sprache aussieht, wie man danach sucht und wie man es von harmlosem, ähnlichem Code unterscheidet. Künftige Forscher finden neue Instanzen mithilfe des gespeicherten Musters, statt es jedes Mal von Grund auf neu zu entdecken.
Der Energiespeicher-Mechanismus ist ebenso wichtig wie die Energie selbst. Wissen, das in einem privaten Notizbuch gespeichert ist, vermehrt sich nur für den Besitzer des Notizbuchs. Wissen, das in einem öffentlichen Repository gespeichert ist, vermehrt sich für alle, die es lesen. Wissen, das in einer CVE-Datenbank gespeichert ist, vermehrt sich für alle, die einen Security-Scanner betreiben. Jeder Speicherort hat unterschiedliche Compounding-Eigenschaften.
Issue-Tracker & persönliche Problemlisten
Hamming führte eine Liste von 10 wichtigen Problemen, auf die er immer wieder zurückkam. Die Liste machte ihn empfänglich dafür, wann eine neue Technik eines dieser Probleme löste. Seine Liste wirkte als persönlich gespeicherte Energie: eine dauerhafte Investition in Mustererkennung, die sich jedes Mal auszahlt, wenn eine neue Technik auftaucht.
Eine MOAD-Schleife als geschlossenes System
Permakultur: In einem gut gestalteten System wird die Ausgabe eines Prozesses zur Eingabe eines anderen. Keine Ausgabe verlässt das System als Abfall. Ein Huhn in einem Waldgarten produziert Eier (Nahrung), Mist (Dünger), Schädlingsbekämpfung (Dienstleistung) und Scharren (Bodenbelüftung). Jede Ausgabe wird in einen nachgelagerten Prozess geleitet, anstatt das System zu verlassen.
Ein MOAD-Fabrikmodell baut eine ähnliche geschlossene Schleife auf. Jede Stufe erzeugt Ausgaben, die die nächste Stufe versorgen:
Scan erzeugt: eine bestätigte Defektinstanz, eine Standortkarte der betroffenen Knoten, eine Schweregrad-Schätzung basierend auf Betweenness & Traffic.
Patch erzeugt: eine Code-Korrektur, einen Unit-Test, der den Fix bestätigt, ein Diff, das von Maintainern überprüft werden kann.
MOAD-Beitrag produziert: einen gemeinfreien Artikel, der die Defektklasse, das Scan-Muster und den Fix-Ansatz erläutert. Intellektuelles Kapital, das über jede einzelne Instanz hinaus Bestand hat.
CVE-Offenlegung produziert: einen standardisierten Eintrag in der NVD, der automatisierte Sicherheits-Scanner in allen betroffenen Installationen auslöst. Soziales Kapital für die Sicherheits-Community.
Upstream-PR produziert: den Fix in der kanonischen Quelle, der automatisch auf alle Downstream-Forks bei deren nächstem Abhängigkeits-Update übertragen wird.
Jede Ausgabe speist zurück: Ein MOAD-Beitrag lehrt Forscher, neue Instanzen zu finden, was neue Scans erzeugt. Der Unit-Test wird zu einem Regression-Guard. Der CVE-Eintrag treibt die Übernahme des Patches durch Operations-Teams voran, die ihn sonst ignorieren würden. Der Kreislauf schließt sich.
Halt-Bedingung: Ein Patch, der ohne Bestätigung der Downstream-Kapazität veröffentlicht wird, überflutet die Warteschlange. MOAD-0001 & MOAD-0005 koppeln: Fix O(N²) an einem High-Betweenness-Knoten & jeder Downstream-Prozessor flutet gleichzeitig. Das Permakultur-Prinzip „Design für das Gesamtsystem“ gilt hier ebenfalls: Optimiere die Komponente und du erzeugst möglicherweise einen neuen Engpass downstream.
Mapping Outputs to Capital
Eine MOAD-Pipeline produziert fünf Ausgaben: ein Scan-Ergebnis, einen Patch, einen MOAD-Beitrag, eine CVE-Offenlegung und einen Upstream-PR.