Snyk Code ergänzt Sicherheitsscans für C# und .NET
Frank Fischer
29. Juli 2021
0 Min. LesezeitEine kurze persönliche Anmerkung: Ich habe eine besondere Beziehung zu .NET und habe unter anderem bei Microsoft als .NET-Evangelist gearbeitet. Außerdem habe ich Anders Jejlsberg, den Entwickler von C# und TypeScript, kurz persönlich getroffen. Deshalb ist dieser Blogbeitrag für mich ein wenig persönlich.
Wir freuen uns, Ihnen mitteilen zu können, dass Snyk Code eine weitere Programmiersprache auf Sicherheitslücken scannt und Vorschläge zu deren Behebung liefert: C#. Damit erweitern wir unser Portfolio um eine wichtige Programmiersprache. Es unterstützt bereits Java, JavaScript, TypeScript und Python.

C# ist eng mit dem .NET-Framework verbunden und hat zahlreiche Veränderungen durchlaufen. Version 9.0 wurde 2020 veröffentlicht und ist sowohl ein ECMA- (ECMA-334) als auch ein ISO-Standard (23270). C# unterstützt mehrere Programmierparadigmen (strukturiert, imperativ, objektorientiert, ereignisgesteuert, aufgabenorientiert, funktional, generisch, reflektiv und nebenläufig) – kurz gesagt: eine ausgereifte Programmiersprache mit einer langen Geschichte.
C# macht etwa 8 % des Markts für Programmiersprachen unter Entwicklern aus und liegt damit hinter Java, JavaScript und Python auf Platz vier. C# war zunächst die bevorzugte Programmiersprache für Windows- und Business-Anwendungen, hat sich aber auch in der Spieleentwicklung und der VR-Branche etabliert, da sie häufig in Unity-Anwendungen zum Einsatz kommt.

C#-Projekte zu Snyk hinzufügen
Sie können Ihr Repository auf verschiedene Arten scannen lassen. Mit der IDE können Sie Quellcode unabhängig vom Versionsverwaltungssystem scannen, wenn Sie Ihren Code überprüfen möchten, bevor Sie ihn einchecken.
Profi-Tipp: Sie können Open-Source-Repositories scannen lassen, ohne sie zu forken oder zu klonen. Verwenden Sie einfach Add project > Monitor public GitHub repos.
Snyk Code unterstützt GitHub, GitLab, Bitbucket Cloud und Azure Repos. Die Integrationen werden in den Einstellungen konfiguriert. Hinweis: Azure Repos finden Sie nicht direkt im Projektmenü Add. Klicken Sie auf + Other, um die Option zu finden.
Wenn Sie Snyk bereits nutzen und Ihre Projekte schon importiert haben, müssen Sie sie erneut scannen lassen, damit die C#-Ergebnisse sofort angezeigt werden. Andernfalls erscheinen die Ergebnisse beim nächsten regulären Scan.
Sicherheitslücken mit Snyk Code finden
Snyk Code führt eine Datenflussanalyse durch, um typische Injection-Angriffe wie SQL-Injection, XML-Injection, Open Redirect oder LDAP-Injection zu erkennen. In unseren Trainingsdaten traten Path-Traversal-Angriffe häufig auf. Bei dieser Art von Angriff werden externe Daten ohne vorherige Bereinigung verwendet, um Dateien zu öffnen. Angreifer können den Dateipfad nutzen, um Verzeichnisse zu durchlaufen und geschützte Dateien zu lesen oder zu verändern. Auch das Entpacken von ZIP-Dateien und die Verwendung der in diesen Paketen gespeicherten Pfade kann dazu führen, dass wichtige Dateien überschrieben werden. (Das nennt man Zip Slip – und ja, Snyk Code scannt auch danach.) Außerdem erkennt Snyk Code dateiübergreifende Probleme, was besonders interessant ist, da Klassendefinitionen in C# auf mehrere Dateien verteilt sein können.
Snyk Code unterstützt die wichtigsten .NET-Frameworks: .NET Framework, .NET Core, ASP.NET (4.x) und ASP.NET Core. Wie gewohnt unterstützt Snyk Code standardmäßig alle C#-Bibliotheken.
Profi-Tipp: Snyk Code scannt Quelldateien mit der Endung *.cs, nicht aber Markup-Dateien mit der Endung *.cshtml.
Sichern Sie Ihre C#-Projekte noch heute ab
Nach sechs Monaten auf dem Markt unterstützt Snyk Code jetzt JavaScript, TypeScript, C#, Python und Java. Weitere Programmiersprachen folgen: In den kommenden Monaten möchten wir sie in kurzen Abständen veröffentlichen. Falls Ihre Programmiersprache noch nicht dabei ist, schauen Sie regelmäßig vorbei – vielleicht haben wir bald Neuigkeiten für Sie.
Starten Sie mit Capture the Flag
Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.


