| Kanal-Aufrufe | 0 |
| Kanal | https://www.youtube.com/channel/UCgbw0F-frjDxvQjzruGRJwg |
🔗 https://www.youtube.com/watch?v=ohzzGy5K9Dk
🤖 Zusammenfassung
Der Beitrag erzählt die Geschichte von curl. Ausgehend von der schwedischen Commodore-64-Demoscene entwickelte Daniel Stenberg mit Bjørn Reese den IRC-Bot „Dancer“ zur Kanalverteidigung. Für dessen Währungsumrechnung übernahm er 1996 „HTTP get“ eines brasilianischen Autors, benannte es 1998 in „curl“ um und schuf 2001 die Bibliothek libcurl. PHP trieb die Verbreitung voran; curl läuft heute in Autos, Smartphones, Windows und auf dem Mars. Das Team dokumentiert Sicherheitslücken als CVEs, beendete aber das Bug-Bounty-Programm wegen KI-generierter Fehlmeldungen Ende Januar 2026. Stenberg betont Beständigkeit: curl unterstützt 28 URL-Schemas und entfernt alte Protokolle kaum. Die Autoren restaurierten den Dancer-Bot und brachten ihn in den curl-IRC-Kanal. Die behaupteten 20 Milliarden Installationen bleiben unbelegt.
Summary created by "LinkBuster-KI HAL8999 – Status READY!!"
📜 Transkript
Es gibt eine Software, die in jeden Winkel unserer Welt vorgedrungen ist – von Autos über Smartphones und Kernfusionsreaktoren bis hin zum Mars. Und die Chancen stehen gut, dass Sie es heute schon benutzt haben, ohne es überhaupt zu merken. Man findet es praktisch überall. Wir sprechen natürlich von Curl. Und falls Sie es noch nie benutzt haben: Curl ist auf den ersten Blick ein sehr einfaches Hilfsprogramm zum Senden und Empfangen von Daten. Sie geben den Befehl und eine Adresse ein und erhalten das, was Sie angefordert haben. Aber warum interessiert uns das? Als wir für unser IRC- Video recherchierten, stießen wir auf diesen gut geschriebenen Bericht über die Geschichte des IRC. Es bestätigte vieles von dem, was wir gelesen hatten, und einiges von dem, was wir selbst erlebt hatten. In diesem Bericht wurde auch ein IRC-Bot namens Dancer erwähnt. Und der Autor war Daniel Stinberg. Stinbergs Anfänge im Computerbereich lassen sich auf die Commodore 64-Demo-Szene in Schweden zurückführen. Falls Ihnen Demos nicht geläufig sind: Es handelt sich um winzige Programme, die unglaubliche visuelle und akustische Effekte erzeugen. Und Demo-Partys und Wettbewerbe wurden zum Ort, an dem Programmierer ihre Low-Level-Codierungsfähigkeiten unter Beweis stellen konnten. Im Grunde hatte ich Freunde, die mir eines Tages zeigten: „Schau mal, da gibt es so eine Demo-Sache, die die Leute machen.“ Schau mal, und weißt du, völlig sinnlos, oder? Es ist ja nur ein visueller Effekt, und was denkst du, einfach nur Dinge, die herumfliegen. Ich fand das großartig. In der Demoszene und beim Erstellen von Demos auf dem Commodore 64 ging es viel darum, Effekte und undokumentierte Verhaltensweisen der Grafikprozessoren zu entdecken. Man konnte also nicht einfach die Anweisungen lesen, es gab keine Dokumentation, und dann passierte etwas Lustiges. Es war viel Experimentieren und Lernen, wie man die Hardware austrickst, um neue Dinge zu tun, die vorher nicht vorhersehbar waren. Und ich hatte das Glück, dass es 1987 an meiner High School ein wirklich großes Treffen der Demoszene gab, mehrere hundert Leute kamen einfach so in meine Gegend. Ich war ja völlig außerhalb dieser Szene, und es passierte einfach dort, wo ich wohnte. So bekam ich einen hervorragenden Einstieg, tauchte sofort tief ein und lernte Hunderte von Verrückten kennen, die das machten. Ich habe das oft gemacht , wissen Sie, und diese riesigen CRTs herumgeschleppt und, wissen Sie, in einem Schlafsack, und ein Wochenende in einer Schule irgendwo verbracht, einfach nur, wissen Sie, in Commodore 64 Assembly gefahren und dann am Ende des Treffens diese Demo-Wettbewerbe veranstaltet . Ja. Die schönen Zeiten. Nachdem er sich mit BBS-Systemen beschäftigt hatte, ging Stinberg ans Internet und entdeckte schließlich IRC. Falls ich komisch aussehe, liegt das daran, dass die Sonne durch mein Fenster hier oben sehr hell scheint. Ich glaube, ich war damals aufgrund meines AmIGGA-Hintergrunds hauptsächlich in einigen AmIGGA-Kanälen unterwegs . Ich bin einem der AmIGGA-Kanäle und dem schwedischen Amigga- Kanal beigetreten. Ich glaube, ich habe mich da oft aufgehalten. IRC war damals nicht so benutzerfreundlich wie heute, weil das Netzwerk so fragil war und Menschen eben Menschen sind. Ich weiß nicht warum, oder? Aber es gibt immer wieder Menschen, die meinen, es ginge darum, andere anzugreifen oder einfach nur zu zerstören und Ärger zu machen. Es gab also viele verschiedene Arten von Angriffen von Nutzern. Eigentlich waren sie ziemlich trivial, denn man konnte beispielsweise einfach dem Netzwerk beitreten und seinen Nicknamen sehr, sehr schnell ändern. Wenn man seinen Namen einfach willkürlich in einen anderen ändert, und das dann auch noch sehr schnell macht, kann das im Netzwerk zu Problemen führen. Und manche dieser simplen Angriffe könnten in einem Kanal ein komplettes Chaos verursachen. Wenn du dich wie ein Bösewicht verhältst, könntest du dafür sorgen, dass alle anderen die Verbindung trennen, und dann wärst du plötzlich der Einzige, der noch da ist, und du könntest zum Operator werden und alle anderen bannen, und plötzlich, ich weiß nicht, warum man das tun sollte , aber es ist hin und wieder passiert . Manche Leute übernehmen einfach einen Kanal und verursachen dadurch Probleme und Ärger für alle. Die drei großen Netzwerke, die zu dieser Zeit entstanden waren – fnet, undernet und dalnet – hatten alle ihre eigenen, einzigartigen Methoden, um mit diesen Problemen umzugehen. Eine der gebräuchlichsten Methoden war jedoch der Einsatz von Bots, also automatisierten IRC- Clients, die Regeln durchsetzten und Kanäle vor Dingen wie Übernahmen schützten. Eine der Herausforderungen bestand darin, Bots zu entwickeln, die Kanälen helfen, sich gegen solche Angriffe zu verteidigen. Wenn also jemand innerhalb von 2 Sekunden mehr als dreimal seinen Nicknamen ändert, wird er rausgeworfen und so weiter . Das war also eine der Ideen, mit denen wir sozusagen anfangen wollten, um sicherzustellen, dass wir einen Bot haben, der uns dabei helfen würde, die Kanäle, in denen wir chatten, sicherer und unsere eigenen auch ein bisschen besser zu halten. Und es war Bjorn Ree, ein dänischer IRC-Freund von Stinberg, der ihm einen frühen Prototyp dessen zeigte, was schließlich zu einem Open-Source-IRC-Bot werden sollte. Stinberg war sofort begeistert, und die beiden begannen gemeinsam mit dem Aufbau. Sie nannten es Dancer, abgeleitet von Danserve, da es seinen Ursprung in einem dänischen IRC- Kanal hatte. Es handelte sich also von Anfang an um eine Art Zusammenarbeit. Und für mich war es auch eine Einführung in die Programmierung mit C und das Schreiben eines TCP- Clients, der sich mit etwas anderem verbindet, und einfach die Idee, ein Internetprotokoll zu verwenden, um mit etwas zu kommunizieren, man weiß, dass es ein Protokoll gibt, was das ist, man muss tatsächlich eine Art Sprache verwenden, um mit dem Server zu sprechen, und ja, es war eine interessante Zeit. Dancer, das eine Skriptsprache namens FPL unterstützte, die Stinberg ebenfalls entwickelt hatte, wurde vollständig als Open Source veröffentlicht und gab anderen die Möglichkeit, ihren eigenen Bot in ihren Kanälen auszuführen. Und wenn man dann erst mal angefangen hat, also wenn man einen Bot hat, warum nicht noch andere, na ja, alberne Dinge hinzufügen? Man kann mit ihm plaudern, es bitten, Dinge zu tun, ihm Dinge erklären, äh, was auch immer. Da ich diesen Bot hatte, hatten wir diese verschiedenen Möglichkeiten, ihn zum Beispiel etwas erklären zu lassen. Sie hatten es als FAQ- Befehl. Man konnte also Dinge besprechen und den Chef bitten, etwas Allgemeines zu erklären, zum Beispiel die FAQ für einen bestimmten Begriff, und dieser wurde dann im Kanal unkenntlich gemacht. Und da wir ein internationaler Sender waren, sprachen wir natürlich über alle möglichen Dinge. Und manchmal diskutierten wir über Preise oder was auch immer wir sonst so machen würden, und dann landeten wir in dieser Situation, in der es darum ging, wie viel eine schwedische Krone heute in US-Dollar wert ist, oder auch in Europa, da das ja vor der Einführung des Euro war. In Europa gab es also auch viel mehr Währungen . Also, was ist der Unterschied zwischen einer deutschen Mark und einer anderen Währung? Daher dachte ich, es wäre einfach, eine Währungsumrechnung für den Bot einzuführen, damit wir den Bot fragen können, wie hoch dieser Betrag und dieser Betrag ist. Ich müsste die Wechselkurse idealerweise etwas öfter als nur einmal im Monat erfahren, richtig? Ich würde es vielleicht täglich bekommen oder etwas, das zumindest einigermaßen genau ist. Ich musste also nur noch herausfinden, wie ich die Währungskurse tageweise abrufen kann. Ich brauche lediglich ein kleines Tool, um diese Währungskurse täglich herunterzuladen, damit mein Bot diese Datenbank mit Währungskursen nutzen und sie dem Benutzer erklären kann. Ja. Und dann habe ich dieses kleine Tool namens HTTP get gefunden, das genau das kann. Es empfing Daten über HTTP. 12 Zeilen C-Code oder so ähnlich. Es wurde von einem brasilianischen Entwickler geschrieben und funktionierte nicht ganz so, wie ich es mir gewünscht hatte . Natürlich, was tut das schon, nicht wahr ? Also habe ich es ein bisschen repariert und abgeschickt, und wissen Sie, das war 1996, da hatten wir im Grunde auch noch keine richtige Versionskontrolle. Ich habe also ein paar Patches an den Brasilianer zurückgeschickt, der dieses HTTP-Get-Tool entwickelt hat, aber er war nicht wirklich daran interessiert, es weiter zu pflegen. Er fragte mich also im Grunde, ob ich diese kleine Sache weiterentwickeln oder pflegen wolle, und ich sagte: Klar, warum nicht? Das HTTP-Git- Tool war genau das, was Stinberg brauchte. Doch als er und andere das Tool weiterentwickelten, wurde der Name in URL git geändert. Aber auch das würde nicht lange anhalten. Jemand hat vorgeschlagen, wir sollten, nun da diese Protokolle implementiert sind, … Warum nicht auch hochladen, verstehst du? Und dann stellte sich der Name wieder als falsch heraus, richtig? Es funktionierte nicht mehr mit URL get. Es war URL get und put oder get und oder was auch immer. Deshalb wollte ich es noch einmal umbenennen, um den Namen zu verbessern. Und dann, was, was, wissen Sie, was die Benennung angeht, ich, ich mochte HTTP get und URL get als Namen schon vorher nicht wirklich, weil sie für einen Kommandozeilenbenutzer unter Unix etwas zu gewöhnlich waren. Ich wollte, dass es so kurz ist wie alles andere unter Unix als Kommandozeilenprogramm. Es sollte ein kurzer Name sein, der sich leicht in eine Eingabeaufforderung eintippen lässt und außerdem auf Englisch aussprechbar ist. Daher erschien eine URL im Namen naheliegend, da es bereits mit URLs und C für einen Kunden funktionierte und curl ein leicht auszusprechendes englisches Wort ist. Außerdem gefällt mir, dass es entweder das sein könnte oder mehr oder weniger ein Wortspiel mit URL. Ja. Das war also alles, was ich brauchte. Also habe ich es im März 1998 in curl umbenannt. Die erste Version von curl mit dem Namen curl 4 wurde am 20. März 1998 veröffentlicht, SSL- und Cookie-Unterstützung wurden kurz darauf hinzugefügt. Im Laufe des nächsten Jahres wurden die erste Manpage und erste Linux- Pakete entwickelt. Doch Anfang 2000 nahm die curl-Bibliothek Gestalt an, sodass sie problemlos in anderen Projekten implementiert werden konnte. Und das ist sozusagen mein nächster Schritt in Bezug auf curl, denn schon als ich curl von Anfang an entwickelt habe, habe ich seine Möglichkeiten verstanden und erkannt, wie cool es ist, eine Bibliothek mit Funktionen zu erstellen, also Funktionen in einer Bibliothek bereitzustellen, damit andere diese Bibliothek für ihre jeweiligen Zwecke nutzen können. Als ich curl als Tool entwickelte, begann ich damit, es nur als Kommandozeilenprogramm zu verwenden, aber ich wollte es in eine Bibliothek umwandeln, da sicherlich auch andere Anwendungen Internetübertragungsfunktionen benötigen. Daher sollte ich natürlich eine Bibliothek daraus machen, damit jeder sie nutzen kann. Ich habe das also im Sommer 2001 gemacht, und unmittelbar nachdem ich das getan hatte, wurde die erste Version des PHP-Projekts veröffentlicht. Dort hieß es: „Klar, wir übernehmen das und machen es zum Standard für HTTP-Übertragungen in PHP.“ Das war ein entscheidender Faktor für die spätere Verbreitung von curl. Mit dem rasanten Anstieg der Popularität von PHP und dessen Nutzung durch Projekte wie WordPress und andere, die schnell einen explosionsartigen Anstieg der Nutzung von Curl erlebten, fand Curl in den folgenden zwei Jahrzehnten in jedem Aspekt des vernetzten Lebens Anwendung. Es fand Eingang in die Embedded-Software für Automobile. Microsoft hat es in Windows 10 und 11 integriert. Es wird in fast allen Smartphones und sogar auf dem Ingenuity-Hubschrauber der NASA auf dem Mars verwendet, was CURL zu einer der wenigen Open-Source-Anwendungen macht, die auf einem anderen Planeten laufen. Einer der Gründe dafür ist, dass das CURL-Team einen sehr transparenten und rigorosen Ansatz in puncto Sicherheit verfolgt. Im Gegensatz zu vielen Projekten, die kleinere Fehler möglicherweise zu verbergen versuchen, verfolgt Kurl die Strategie, jede einzelne Sicherheitslücke als CVE zu dokumentieren, egal wie klein sie auch sein mag. Und im April 2019 starteten sie ihr drittes Bug-Bounty- Programm, bei dem 87 bestätigte Sicherheitslücken gefunden wurden und das Projekt über 100.000 US-Dollar an Belohnungen ausschüttete. Doch mit dem Aufkommen von KI-Tools wurde das curl- Team mit Berichten über KI-Slot-Bugs überschwemmt, in denen Funktionen aufgeführt wurden, die schlichtweg nicht existierten, und Exploits beschrieben wurden, die technisch keinen Sinn ergaben. Entscheidend ist jedoch, dass viele davon auf den ersten Blick legitim erscheinen könnten, was die Aussortierung dieser Fälle umso zeitaufwändiger macht . Jeder einzelne Fehlerbericht musste von einem Menschen gelesen, untersucht und widerlegt werden . Ich meine, ich höre immer wieder, dass eine KI gut programmieren können sollte, weil es ja schließlich ein Computer ist, richtig? Und es ist Computercode. Im Idealfall oder konzeptionell könnte es also gut im Programmieren sein, aber so funktioniert es nicht, denn eine KI oder ein LLM kennen sich tatsächlich nicht mit Programmierung aus. Sie kennen sich mit Texten aus. So können sie denselben Text wiederholen, den Sie schon oft gesehen haben . Es kann also natürlich Code, den es schon einmal gesehen hat, auf viele verschiedene Arten wiederholen. Es kann also eine Menge Code generieren, lässt sich aber leicht in die Irre führen. Ich meine, es kann wirklich leistungsstark sein, weil es sehr schnell sehr viel Code erzeugen kann, aber ist es auch der richtige Code? Das kann man leicht erkennen, wenn man ein erfahrener Entwickler ist, der die KI bittet, Dinge für ihn zu erledigen. Man kann sehen, wie die KI den Code gerne auf eine bestimmte Weise ausführt, wahrscheinlich weil sie festgestellt hat, dass viele andere es auf diese Weise tun. Aber das ist vielleicht nicht die Art und Weise, wie man es machen möchte, nur weil es viele andere so gemacht haben. Es gibt also vieles davon, möglicherweise kann es als Junior passieren, ich meine, manchmal kann es natürlich Lösungen vorschlagen, an die man selbst nicht gedacht hat, und das kann gut sein, denn wenn es funktioniert, funktioniert es, und man kann daraus lernen. Aber es ist töricht, die KI zu viel Code schreiben zu lassen, ohne dass man ihn quasi mitverfolgt, denn irgendwann wird es nicht mehr funktionieren, und dann muss man es sowieso analysieren. Du musst es verstehen. Je nachdem, wie sehr man die KI gewähren lässt, wird es später beim Debuggen umso schwieriger für einen, sich durchzuarbeiten. Aufgrund der überwältigenden Flut dieser Meldungen wurde das bezahlte Bug-Bounty-Programm zum 31. Januar 2026 eingestellt. Aber wie Stinberg in einem Interview mit GitHub sagte, existiert Curl heute noch, weil es durchgehalten und überlebt hat . Er sagte: „Mach einfach weiter, denn das ist ein Weg zum Erfolg .“ Selbst in unserer Welt voller KI-Halluzinationen und Fehlinformationen lässt sich die Entwicklung von CURL, das mittlerweile über 3.500 Mitwirkende zählt, nicht stoppen und wird fortgesetzt. Und Stinberg veröffentlicht weiterhin Video-Updates zu jeder neuen Curl-Version. Ungefähr wie viele Protokolle werden aktuell von curl unterstützt? Ja, das kommt darauf an, was man unter Protokoll versteht, aber wenn man URL-Schemas als Protokoll betrachtet, also zum Beispiel HTTP mit Doppelpunkt/, dann sind das 28 Protokolle. Wow. Wow. Haben Sie jemals ein Protokoll als veraltet markiert? Äh, ich habe es einmal versucht, aber wir haben es zurückgegeben . Welches war das? Da war ein Taschenratte. Aber das ist schon lange her. Und so dauerte es eine Weile, bis es jemand bemerkte, der dann ziemlich verärgert war und es zurückbrachte. Heutzutage achten wir viel strenger darauf, bestehende Benutzer, Anwendungsfälle und APIs nicht zu beeinträchtigen. Heutzutage sind wir also eher darauf bedacht, Dinge nicht zu entfernen . Also, ich würde das jetzt sowieso nicht mehr so einfach machen, denn heutzutage ist es eine unserer Grundpfeiler, wenn wir Locken kreieren, dass wir Bestehende nicht zerstören . Und Sie wollen ja nicht die Gopher- Liebhaber auf der Welt verärgern. Keiner von beiden. Und es ist verrückt, sich vorzustellen, dass dieses winzige Hilfsprogramm, das von einem Mann in Brasilien ins Leben gerufen wurde, sich zu einer Software entwickelt hat, die mittlerweile über 20 Milliarden Installationen verzeichnet – und das alles kostenlos. Und deshalb wollen wir Kurls unglaublichen Multi-Deade-Erfolg feiern. Wir wollen Dancer zurückbringen, den IRC-Bot, mit dem Stinberg diese ganze Reise begonnen hat. Um das tun zu können, müssen wir natürlich erst einmal eine Kopie finden. Und zum Glück ging das ausnahmsweise mal ziemlich einfach . Dancer wird immer noch auf SourceForge gehostet, die letzte Änderung stammt aus dem Jahr 2002 (Version 4.16) und liegt über 20 Jahre zurück. Und Stinberg hat es auch auf GitHub veröffentlicht. Wir haben zunächst versucht, es auf einem modernen FreeBSD-System zu kompilieren, sind aber sofort auf Warnungen und ein Dutzend Fehler gestoßen. Zum Glück konnten wir den Code mit ein paar Anpassungen und Aktualisierungen kompilieren. Anschließend konnten wir das Installationsskript des Bots verwenden, um den neuen Speicherort für Dancer im Bot-Ordner unseres Benutzers vorzubereiten. Nach einigen Anpassungen am Startskript funktionierte unser Bot. Um als Besitzer mit einem Bot zu interagieren, senden Sie ihm eine Nachricht mit dem Standardpasswort und legen dann ein neues fest. Von dort aus werden über den Befehl cmd die verfügbaren Befehle angezeigt, von denen es viele gibt, und die Dokumentation ist gut zusammengestellt, um zusätzliche Hilfe zu bieten. Natürlich mussten wir auch prüfen, ob unser Bot die Währungsumrechnungsfunktion beherrscht. Im Ordner „currency“ erklärt die Readme-Datei, wie ein Cronjob Währungsdaten von einer von Stinberg gepflegten Seite herunterladen kann. Und natürlich ist curl das erste Beispiel, das zusammen mit wgetit aufgeführt wird. Obwohl diese URL längst nicht mehr existiert, konnten wir eine Kopie dieser Seite aus dem Jahr 1998 über die Wayback Machine abrufen. Und nachdem ich die Konfigurationsdatei von Dancer aktualisiert habe, sodass sie auf das Währungsskript verweist, funktioniert es tatsächlich. Zu guter Letzt wollten wir den offiziellen curl IRC-Kanal im Libra- Chatnetzwerk überraschen. Nachdem wir ein paar Probleme gelöst hatten, konnten wir es dem Curl- Kanal beitreten lassen und Daniel als Benutzer hinzufügen. Leider verlief der Währungsumtausch nicht reibungslos. Die Wiederherstellung von Dancer im Internet war ein interessanter Einblick in ein wichtiges Stück Internetgeschichte, das zu dieser Zeit ansonsten unscheinbar war. Letztendlich erwies es sich jedoch als entscheidender Moment, der eine Reise und ein Projekt einleitete, das das Leben von Milliarden von Menschen berührte und die nahezu grenzenlose Wirkung von Open-Source- Software demonstrierte. Wenn Ihnen dieses Video gefällt, haben wir bald weitere IRC-Inhalte für Sie. Bitte abonniert also den Kanal. Und wenn Sie unsere Mission unterstützen möchten, können Sie unserem Patreon beitreten, wo wir eine großartige Community von Menschen und viele Einblicke hinter die Kulissen bieten . Und wie immer vielen Dank fürs Zuschauen beim Serial Report, wir sehen uns beim nächsten Mal.
📊 Link-Infos
| URL | https://www.youtube.com/watch?v=ohzzGy5K9Dk |
| Titel | How an IRC bot spawned the world’s most prolific software |
| Kategorien | BulkNews, The Serial Port |
| Hinzugefügt | 2026-07-18 01:02:34 |
| Mediendatei | Original-Medium ansehen · Lokale Kopie |

