Zum Hauptinhalt Zur Navigation

Chromium: Google erlaubt Rust im Projekt

Laut einer Ankündigung von Google soll Chromium für die Integration von Rust -Bibliotheken fit gemacht werden.
/ Boris Mayer
1 Kommentare News folgen (öffnet im neuen Fenster)
Chromium bekommt Rust-Flecken: Aber lieber erst mal nicht zu viele (Bild: spline splinson via flickr)
Chromium bekommt Rust-Flecken: Aber lieber erst mal nicht zu viele Bild: spline splinson via flickr / CC-BY 2.0

Das Chromium-Projekt soll zukünftig auch in Rust geschriebene Third-Party-Bibliotheken unterstützen können. In einer Ankündigung(öffnet im neuen Fenster) dazu hieß es, dass man aktiv an einer Rust-Toolchain in das Buildsystem arbeite.

Chromium ist bisher komplett in C++ geschrieben. Und auch zukünftig soll es laut Google keine wilde Mischung von C++ und Rust geben. So ist die Interoperabilität der beiden Sprachen nur in eine Richtung vorgesehen: Code in C++ kann Code in Rust benutzen, aber eben nicht umgekehrt - zumindest erst einmal. "Indem wir die Interoperabilität auf eine einzige Richtung beschränken, steuern wir die Form des Abhängigkeitsbaums" , heißt es in der Ankündigung.

Das Problem mit der unsicheren Sprache

Von Rust verspricht man sich eine Beschleunigung der Entwicklung und eine verbesserte Sicherheit, weil der Rust-Einsatz es den Chromium-Entwicklern erlauben würde, die selbst auferlegte " Rule of Two(öffnet im neuen Fenster) " einzuhalten. Die Rule of Two ist ein Konzept, das an jeder Codestelle nur zwei von drei für die Sicherheit problematische Dinge machen darf.

Diese drei Sicherheitsrisiken beschreibt das Chromium-Projekt als "nicht vertrauenswürdige Inputs" (also quasi alles aus dem Web), "unsichere Implementierungssprache" (also C++) und "hohes Privileg" (also Code außerhalb einer Sandbox, zum Beispiel im Browser-Prozess selbst).

Letztlich erstmal nur ein bisschen Rust

Rust soll zunächst nur in eingebundenen Third-Party-Libraries Verwendung finden. Denn diese seien als Standalone-Komponenten geschrieben, ohne implizites Wissen über Chromiums Implementierungsdetails zu haben. Zusätzlich sollen einzubindende Rust-Libraries erst einmal nur solche sein, die sich auf eine einzige Aufgabe fokussieren, ein kleines Interface haben und "ohne komplexe Zeigerdiagramme" sind. Damit das auch eingehalten wird, will Google Kandidaten inspizieren und prüfen, ob sie auch diesen Kriterien entsprechen, bevor sie im Projekt zugelassen werden.


Relevante Themen