Geprüfte Frameworks & Bibliotheken
Wir testen die Abdeckung über Fixtures auf diesen Frameworks. Neue Muster werden in jedem Builtin-Regel-Release ergänzt.
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 — SqlCommand-Konkatenation
var cmd = new SqlCommand(
$"SELECT * FROM users WHERE name = \'{name}\'", conn);
var reader = cmd.ExecuteReader();
// 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 — BinaryFormatter auf nicht vertrauenswürdigem Stream
var bf = new BinaryFormatter();
var obj = bf.Deserialize(networkStream);
// 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 — Razor @Html.Raw auf User-Daten
@Html.Raw(Model.Bio)
// Sicher — standardmäßig kodierte Ausgabe
@Model.Bio
Was StaticCodeAudit erkennt (diese Sprache)
- SQL-Injection in
SqlCommand-Concat, Dapper-Interpolation, EF CoreFromSqlRaw, NHibernate HQL-Concat - XSS in Razor
@Html.Raw, BlazorMarkupString, MVC manuelle Encoding-Umgehung - Befehlsinjektion in
Process.Startmit 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,SameSiteaus) - Path Traversal in
File.ReadAllBytes,Path.Combinemit 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