Steve Collins 09.12.2021, 09:29 Uhr

Kann man .NET Source-Generatoren vertrauen?

Der Entwickler Steve Collins hat sich mit der Frage beschäftigt, ob Angriffe auf .NET-Quellcodegeneratoren eine Gefahr für den Code darstellen können.
(Quelle: stevetalkscode.co.uk)
In seinem Blogbeitrag hebt Steve Collins die potenziellen Gefahren hervor, die mit dem Vertrauen in .NET-Quellcodegeneratoren von Drittanbietern verbunden sind. Außerdem zeigt er Wege auf, wie Entwickler versuchen können, Supply-Chain-Angriffe zu erkennen, die versuchen, bösartigen Code in ihre Codebasis zu injizieren.
Hintergrund: Seit ihrer Einführung in .NET 5 ist Collins ein großer Fan von C#-Quellcodegeneratoren. Sie sind ein leistungsfähiges Tool, das dazu beiträgt, dass man nicht viel Boiler Plate Code schreiben muss und zudem auch die Leistung des Codes verbessern kann, indem es die Generierung von Code zur Kompilierungszeit für Aufgaben ermöglicht, die die Entwickler früher vielleicht mit Hilfe von Reflection ausgeführt hätten.
Allerdings birgt der Einsatz von Quellcodegeneratoren auch potenzielle Gefahren. Darauf verweeisen auch der Beitrag von Mateusz Krzeszowiec, der einen Überblick über Angriffe auf die Lieferkette gibt und darüber, wie Quellcode-Generatoren verwendet werden können, um potenziell schädlichen Code zu erzeugen sowie der Blogbeitrag von Maarten Balliauw, der das Problem ebenfalls beschreibt, aber auch zeigt, wie Attribute verwendet werden können, um zu versuchen, den Code vor einer Überprüfung zu verstecken.
In seinem Fazit schreibt Collins, man solle sich von den potentiellen Gefahren nicht von der Verwendung von Quellcodegeneratoren abhalten lassen, weil diese Funktion von .NET unglaublich leistungsfähig ist. Wer allerdings Quellcodegeneratoren verwendet, die er (oder sein Team) nicht selbst geschrieben haben, muss sich der Gefahren bewusst sein, die entstehen, wenn nicht überprüft wird, woher der Generator stammt und was er mit Code macht.


Das könnte Sie auch interessieren