Ladybird, ein freies Browser-Projekt, hat einen Schritt in Richtung Speichersicherheit erreicht: Die Entwickler haben wesentliche Bestandteile ihrer JavaScript-Engine LibJS von der Programmiersprache C auf Rust portiert. Dieser umfangreiche Port umfasst rund 25.000 Zeilen Code und wurde mit Hilfe intelligenter KI-Werkzeuge innerhalb von lediglich zwei Wochen realisiert. Im Fokus standen dabei der Lexer, Parser, Abstract Syntax Tree (AST) sowie der Bytecode-Generator – Komponenten, die laut Hauptentwickler Andreas Kling sich durch ihre relative Autonomie und umfangreiche Testbarkeit mit der test262-Suite besonders für diesen ersten Port eignen. Alle 52.898 Tests der offiziellen test262-Suite und zusätzlich 12.461 Ladybird-spezifische Regressionstests liefen ohne Probleme, wobei sowohl die Rust- als auch die C-Implementierung fehlerfrei funktionierten und die Ergebnisse übereinstimmten. Dies demonstriert die hohe Qualität des Portierungsprozesses.
Für diesen Meilenstein nutzte Kling KI-gestützte Tools, um den komplexen Codetransfer zu beschleunigen und zu vereinfachen. Obwohl Swift als Alternative für kurze Zeit in Betracht gezogen wurde, scheiterte es an mangelnder C-Interoperabilität und begrenztem Plattform-Support außerhalb des Apple-Ökosystems. Rust setzte sich schließlich durch, getragen von seinem reiferen Ökosystem für Systemprogrammierung, der breiten Verbreitung von Rust-Kenntnissen innerhalb der Contributor-Community und dem Vorbildcharakter, den Firefox und Chromium mit ihrer Integration von Rust setzen. Vor allem aber bietet Rust die entscheidende Eigenschaft von Speichersicherheitsgarantien, die C mangelt – ein kritischer Aspekt für Browser-Engines, die häufig Angriffsziele darstellen.
Ladybird plant jedoch keinen vollständigen Abschied von C. Die Sprache bleibt weiterhin die Hauptentwicklungssprache des Projekts. Der Rust-Port ist ein längerfristiges Unterfangen, ein „Sidetrack“, der schrittweise vorangetrieben wird. Neuer Rust-Code koexistiert mit bestehendem C über klar definierte Interop-Grenzen. Das Core-Team wählt strategisch aus, welche Komponenten wann portiert werden sollen, um die Sicherheit und Stabilität des gesamten Systems kontinuierlich zu verbessern.
Ladybird verfolgt das Ziel, eine unabhängige Browser-Engine zu entwickeln, als Alternative zu den etablierten Engines Gecko (Firefox), Blink (Chromium) und WebKit (Safari). Das Open-Source-Projekt befindet sich noch in einer frühen Phase, aber die erste Alpha-Version für Linux und macOS soll 2026 erscheinen. Dieser Rust-Port ist ein wichtiger Meilenstein auf diesem Weg und demonstriert Ladybirds Engagement für eine sichere Zukunft des Browsing-Erlebnisses.
Schlagwörter: Rust + Andreas Kling + LibJS
Wie bewerten Sie den Schreibstil des Artikels?
