Zum Hauptinhalt springen

C# (.NET) · SAST

C#-/.NET-SAST, das vollständig offline läuft

Auditieren Sie ASP.NET Core, Entity Framework, Dapper und NHibernate auf OWASP-Top-10-Schwachstellen, Deserialisierungs-Gadgets und Konfigurations-Drift — ohne Ihre Maschine zu verlassen.

Geprüfte Frameworks & Bibliotheken

Wir testen die Abdeckung über Fixtures auf diesen Frameworks. Neue Muster werden in jedem Builtin-Regel-Release ergänzt.

ASP.NET Core ASP.NET MVC Entity Framework Core Dapper NHibernate Razor Blazor SignalR IdentityServer NewtonsoftJson System.Text.Json BouncyCastle.NetCore Polly AutoMapper

Häufigste erkannte CWE-Klassen

Diese CWE-Klassen treten in modernen Codebasen dieser Sprache am häufigsten auf. StaticCodeAudit liefert dedizierte Regeln für jede, gemappt auf OWASP Top 10 / ISO 27001 / ASVS, sofern relevant.

CWE-89

SQL-Injection

String-Konkatenation in SqlCommand.CommandText, Dapper Execute($"..."), EF Core FromSqlRaw mit Interpolation, NHibernate HQL mit Concat.

Erkannt von SCA-Regel: sql_injection_concat_csharp

CWE-78

OS-Befehlsinjektion

Process.Start(new ProcessStartInfo { FileName = "cmd", Arguments = userInput }) mit Shell-Parsing. UseShellExecute = true erhöht die Angriffsfläche.

Erkannt von SCA-Regel: command_injection_csharp

CWE-502

Unsichere Deserialisierung

BinaryFormatter.Deserialize (obsolet seit .NET 5, aber noch zu finden), NetDataContractSerializer, SoapFormatter auf nicht vertrauenswürdigen Streams.

Erkannt von SCA-Regel: unsafe_deserialization

CWE-79

Cross-Site Scripting (XSS)

Razor @Html.Raw(model.Bio) mit nicht vertrauenswürdigen Daten, MVC HttpUtility.HtmlEncode umgangen, Blazor MarkupString auf User-Input.

Erkannt von SCA-Regel: xss_raw_html

CWE-798

Hartkodierte Zugangsdaten

Connection-Strings in commitetem appsettings.json, JWT-Signatur-Key als const string, Azure-Secrets in web.config.

Erkannt von SCA-Regel: hardcoded_secret

CWE-352

CSRF

Fehlendes [ValidateAntiForgeryToken] bei POST-Actions, options.SuppressXFrameOptionsHeader = true in Startup.

Erkannt von SCA-Regel: csrf_missing_aspnet

Verwundbar vs. sicher — drei kurze Beispiele

CWE-89 Erkannt von SCA-Regel: sql_injection_concat_csharp
❌ Verwundbar
// Verwundbar — SqlCommand-Konkatenation
var cmd = new SqlCommand(
    $"SELECT * FROM users WHERE name = \'{name}\'", conn);
var reader = cmd.ExecuteReader();
✅ Sicher
// Sicher — parametrisiert
var cmd = new SqlCommand(
    "SELECT * FROM users WHERE name = @name", conn);
cmd.Parameters.AddWithValue("@name", name);
var reader = cmd.ExecuteReader();
CWE-502 Erkannt von SCA-Regel: unsafe_deserialization
❌ Verwundbar
// Verwundbar — BinaryFormatter auf nicht vertrauenswürdigem Stream
var bf = new BinaryFormatter();
var obj = bf.Deserialize(networkStream);
✅ Sicher
// Sicher — System.Text.Json mit bekanntem Schema
var obj = JsonSerializer.Deserialize<UserDto>(
    networkStream,
    new JsonSerializerOptions { PropertyNameCaseInsensitive = true });
CWE-79 Erkannt von SCA-Regel: xss_raw_html
❌ Verwundbar
// Verwundbar — Razor @Html.Raw auf User-Daten
@Html.Raw(Model.Bio)
✅ Sicher
// Sicher — standardmäßig kodierte Ausgabe
@Model.Bio

Was StaticCodeAudit erkennt (diese Sprache)

  • SQL-Injection in SqlCommand-Concat, Dapper-Interpolation, EF Core FromSqlRaw, NHibernate HQL-Concat
  • XSS in Razor @Html.Raw, Blazor MarkupString, MVC manuelle Encoding-Umgehung
  • Befehlsinjektion in Process.Start mit Shell-Parsing
  • BinaryFormatter-Deserialisierung auf nicht vertrauenswürdigen Streams (trotz .NET-Deprecation noch zu finden)
  • Hartkodierte Secrets in commitetem appsettings.json, web.config
  • CSRF: Fehlendes [ValidateAntiForgeryToken] bei POST-Actions
  • Unsichere Cookies (CookieOptions.Secure, HttpOnly, SameSite aus)
  • Path Traversal in File.ReadAllBytes, Path.Combine mit User-Pfaden
  • XXE in XmlDocument, XmlReaderSettings.DtdProcessing = Parse
  • Unsichere Krypto (MD5/SHA1 für Security, ECB-Modus, hartkodierte Keys)
  • JWT none-Algorithmus, hartkodierter HS256-Secret, kein Expiration-Claim
  • Open Redirect via Redirect(Request.Query["url"])
  • Veraltete APIs (BinaryFormatter, NetDataContractSerializer, SHA1Managed)
  • CI/CD-Fehlkonfigurationen (.gitlab-ci, GitHub Actions, unsicheres NuGet-Feed)

Auditieren Sie Ihren Code

Auditieren Sie ASP.NET Core, Entity Framework, Dapper und NHibernate auf OWASP-Top-10-Schwachstellen, Deserialisierungs-Gadgets und Konfigurations-Drift — ohne Ihre Maschine zu verlassen.

Demo-Binary herunterladen Geführte Demo buchen