Schwachstellenerkennung

Entdecken Sie die leistungsstarken Funktionen zur Schwachstellenerkennung von Deflectra. Wir verwenden die fortschrittlichsten KI-Modelle, um Schwachstellen in Ihrer Codebasis zu erkennen.

Schwachstellenmuster

SQL-Injection
Analysieren Sie Code, bei dem benutzereingegebene Daten zum Erstellen von Datenbankabfragen verwendet werden. Suchen Sie nach der Verkettung von nicht bereinigten Eingaben oder ORM-Methoden, die für Injection anfällig sind. Überprüfen Sie auf Mobil-/Desktopgeräten die Nutzung lokaler SQLite-/Datenbanken.
NoSQL-Injection
Analysieren Sie Code, bei dem benutzereingegebene Daten zum Erstellen von Abfragen in NoSQL-Datenbanken (MongoDB usw.) verwendet werden. Suchen Sie nach unsicherer Verwendung von Operatoren ($where usw.) oder der Erstellung von Abfrageobjekten mit nicht bereinigten Daten. Typischerweise eine Backend-Schwachstelle.
Befehlsinjektion
Analysieren Sie Code, bei dem benutzereingegebene Daten an Systembefehle (z. B. exec, system, popen) übergeben werden könnten. Suchen Sie nach nicht bereinigten Eingaben in Befehlszeichenketten. Überprüfen Sie Interaktionen mit nativem Code auf Mobil-/Desktopgeräten oder Betriebssystembibliotheken.
Code-Injection
Analysieren Sie Code, bei dem benutzereingegebene Daten direkt ausgewertet oder ausgeführt werden (z. B. eval, exec, Skript-Engines), ohne ordnungsgemäße Validierung oder Sandboxing. Überprüfen Sie WebViews, das dynamische Laden von Code oder eingebettetes Scripting auf Mobil-/Desktopgeräten/Bibliotheken.
Unsichere Deserialisierung
Analysieren Sie Code, bei dem serialisierte Objekte aus nicht vertrauenswürdigen Quellen (Benutzereingaben, Dateien, Netzwerk) ohne ordnungsgemäße Validierung deserialisiert werden, was potenziell zur Remotecodeausführung führen kann (z. B. Pickle, Java/PHP-Serialisierung). Kann auf Client/Server auftreten.
Server-Side Request Forgery (SSRF)
Analysieren Sie Code, bei dem benutzereingegebene Daten (URLs, Hostnamen, Pfade) verwendet werden, um serverseitige HTTP-Anfragen an interne oder externe Ressourcen ohne ordnungsgemäße Validierung zu stellen. Überprüfen Sie, ob Mobil-/Desktop-Apps Anfragen basierend auf externen Eingaben stellen.
Server-Side Template Injection (SSTI)
Analysieren Sie Code, bei dem benutzereingegebene Daten ohne ordnungsgemäße Bereinigung direkt in serverseitige Vorlagen eingebettet werden, was potenziell die Ausführung von Code innerhalb der Vorlagen-Engine ermöglicht.
Server-Side Includes (SSI) Injection
Analysieren Sie Code oder Serverkonfigurationen, bei denen benutzereingegebene Daten in Dateien eingefügt werden könnten, die vom Webserver für SSI-Direktiven verarbeitet werden, was potenziell das Einschleusen von Dateien oder die Ausführung von Befehlen ermöglicht, wenn die SSI-Ausführung aktiviert ist.
Hartcodierte Geheimnisse und Anmeldeinformationen
Scannen Sie den Code nach hartcodierten API-Schlüsseln, Passwörtern, privaten Schlüsseln, Datenbank-Verbindungszeichenfolgen, Standardanmeldeinformationen oder anderen sensiblen Geheimnissen.
Pfad-Traversal / Datei-Inklusion
Analysieren Sie Code, bei dem benutzereingegebene Daten in Dateipfaden (Lesen, Schreiben, Einbinden von Dateien) ohne ordnungsgemäße Bereinigung verwendet werden, was potenziell den Zugriff auf eingeschränkte Dateien ermöglicht (LFI/RFI auf dem Server, lokaler Dateizugriff auf Mobil-/Desktopgeräten/Bibliotheken).
Clientseitiges Pfad-Traversal
Analysieren Sie clientseitigen Code (JavaScript), bei dem benutzereingegebene Daten (z. B. aus URL-Fragmenten, Parametern, postMessage) zum Erstellen von URLs oder Pfaden für API-Anfragen oder die Navigation verwendet werden, was potenziell zu unbeabsichtigtem Ressourcenzugriff oder Umleitungen führen kann. Relevant für WebViews/JS-Frameworks auf Mobil-/Desktopgeräten.
XML External Entity (XXE) Injection
Analysieren Sie Code, der XML-Eingaben (lokal oder abgerufen) parst. Überprüfen Sie, ob die Verarbeitung externer Entitäten deaktiviert ist und ob Benutzereingaben die XML-Struktur beeinflussen und zu einer XXE führen können.
Unsichere Datei-Uploads
Analysieren Sie den Code, der Datei-Uploads verarbeitet (clientseitige Überprüfungen, serverseitige Validierung). Überprüfen Sie die Validierung von Dateitypen, Namen, Größen und Speicherorten, um die Ausführung hochgeladener Dateien oder Pfad-Traversal zu verhindern.
Umgehung der Authentifizierung
Analysieren Sie den Code auf sensible Endpunkte oder Funktionen ohne Authentifizierungsprüfungen (z. B. fehlende Dekoratoren, Middleware). Überprüfen Sie Anmeldeabläufe, Parametermanipulation oder lokale Authentifizierungsumgehungen auf Mobil-/Desktopgeräten.
Sicherheit der Kontoverwaltung
Analysieren Sie Passwortrichtlinien, Sitzungsbeendigung, Kontolöschprozesse und Wiederherstellungsmechanismen auf Sicherheitslücken. Beinhaltet die lokale Handhabung von Anmeldeinformationen auf Desktop-/Mobilgeräten.
Umgehung der Autorisierung
Analysieren Sie den Code, um zu überprüfen, ob Autorisierungsprüfungen (Rollen, Berechtigungen) nach der Authentifizierung serverseitig korrekt angewendet werden. Suchen Sie nach Logikfehlern, die unbefugten Zugriff auf Funktionen oder Daten ermöglichen. Überprüfen Sie gegebenenfalls die lokale Autorisierungslogik auf Desktop-/Mobilgeräten.
Rechteausweitung
Analysieren Sie den Code auf Funktionen, die unsichere Änderungen an Rollen/Berechtigungen oder den Aufruf von Admin-Funktionen durch Benutzer mit geringeren Rechten ermöglichen. Überprüfen Sie die lokale Rechteverwaltung auf Desktop-/Mobilgeräten/Betriebssystembibliotheken.
Mandantenübergreifende Zugriffskontrollprobleme (falls zutreffend)
Analysieren Sie in mandantenfähigen Anwendungen (d. h. wenn das System Mandanten/Organisationen unterstützt) den Code, um sicherzustellen, dass alle Datenabfragen und -operationen streng nach der Mandanten-ID des authentifizierten Benutzers gefiltert werden. Wenn die Anwendung nicht mandantenfähig ist, ist dieser Punkt möglicherweise nicht relevant.
Insecure Direct Object References (IDORs)
Analysieren Sie Code, bei dem vom Benutzer kontrollierte Bezeichner (IDs in URLs, Parametern) verwendet werden, um auf Ressourcen zuzugreifen, ohne die Berechtigung des Benutzers für diese spezifische Ressource zu überprüfen. Überprüfen Sie, wie Desktop-/Mobil-Apps Anfragen erstellen.
Logikfehler bei der Kontoübernahme
Analysieren Sie Funktionen wie Registrierung, Profiländerung, Passwort-Reset usw. auf Logikfehler, die eine Kontoübernahme ermöglichen (vorhersehbare Token, fehlende Überprüfung usw.). Beinhaltet die lokale Handhabung von Anmeldeinformationen/Token auf Desktop-/Mobilgeräten.
Umgehung von OTP/MFA
Analysieren Sie die Logik zur Erzeugung, Überprüfung und Verwaltung von OTP/MFA-Codes auf Umgehungsschwachstellen (Ratenbegrenzung, Vorhersehbarkeit, Überspringen von Schritten). Überprüfen Sie die clientseitige Handhabung auf Desktop-/Mobilgeräten.
JWT-Sicherheitsprobleme
Analysieren Sie die JWT-Nutzung: Signaturprüfung (alg 'none', schwache Schlüssel), Anspruchsvalidierung (exp, iss, aud), unsichere Speicherung (z. B. localStorage, unsichere mobile/Desktop-Speicherung).
SAML-Schwachstellen (auf Code-Ebene)
Wenn SAML verwendet wird, analysieren Sie den Verarbeitungscode: Signaturvalidierung, XXE beim Parsen, ACS-Logik, Bedingungs-/Zielgruppenvalidierung.
Logikfehler in OAuth/OIDC
Analysieren Sie OAuth/OIDC-Abläufe: Validierung des 'state'-Parameters (CSRF), unsichere Code-Handhabung, Probleme beim impliziten Fluss, Validierung der Weiterleitungs-URI. Überprüfen Sie die clientseitige Implementierung auf Mobil/Web/Desktop.
Unsichere mandantenkonfigurierbare IDP-Integration
Analysieren Sie mandantenfähige Apps mit mandantenkonfigurierbaren IDPs (SAML/OIDC): Konfigurationssicherheit (SSRF, Weiterleitungen), Parsen (XXE), Verarbeitung von Zusicherungen (Signaturumgehung, Claim-Injection), Provisionierung, Risiken von Mandanten-ATO.
Mögliche Race-Condition-Muster
Analysieren Sie den Code auf 'Check-then-Act'-Sequenzen ohne Sperren, nicht-atomare Operationen, fehlende DB-Constraints, die zu inkonsistenten Zuständen oder Umgehungen führen können. Kann auf Client/Server auftreten.
Cross-Site Scripting (XSS)
Analysieren Sie Code, bei dem Benutzereingaben ohne korrekte kontextbezogene Kodierung in HTML/JS widergespiegelt werden (reflektiert, gespeichert). Überprüfen Sie WebViews, eingebettete Browser oder dynamisches HTML-Rendering auf Mobil-/Desktopgeräten.
DOM-basierte Schwachstellen
Analysieren Sie clientseitiges JS, bei dem Eingaben aus Quellen (URL, postMessage) ohne Bereinigung in Senken (eval, innerHTML, location) fließen (DOM-XSS, Open Redirect). Relevant für WebViews/JS-Frameworks auf Mobil-/Desktopgeräten.
CRLF-Injection
Analysieren Sie Code, bei dem Benutzereingaben ohne Bereinigung von CR (\r) und LF (\n) in HTTP-Header eingefügt werden, was Header-Injection oder Response-Splitting ermöglicht.
HTTP-Header-Injection
Analysieren Sie, wie die Anwendung eingehende HTTP-Header wie Host, X-Forwarded-For, X-Forwarded-Host und andere vom Client steuerbare Header verarbeitet und ihnen vertraut. Suchen Sie nach Schwachstellen, bei denen die Manipulation dieser Header zur Umgehung von Sicherheitskontrollen (z. B. IP-basierte Einschränkungen), Web-Cache-Poisoning, SSRF, fehlerhafter Anwendungslogik oder anderen unbeabsichtigten Verhaltensweisen führen kann. Stellen Sie sicher, dass Header vor der Verwendung in sicherheitsrelevanten Kontexten ordnungsgemäß validiert werden.
Offene Weiterleitung / Unvalidierte Weiterleitungen
Analysieren Sie Code, bei dem Benutzereingaben Weiterleitungsziele ohne Validierung gegen eine Zulassungsliste bestimmen. Überprüfen Sie WebViews/benutzerdefinierte Schema-Handler/eingebettete Browser auf Mobil-/Desktopgeräten.
Leck von sensiblen Informationen / Übermäßige Datenexposition
Analysieren Sie den Code auf die Exposition sensibler Daten: Serverdetails (Fehler, Protokolle, Kommentare), Benutzerinformationen (ausführliche Antworten, PII-Exposition, unsicheres Logging). Suchen Sie insbesondere nach APIs oder Datenstrukturen, die mehr Daten als für die Funktionalität erforderlich zurückgeben, wie z. B. die Exposition ganzer Benutzerobjekte/-modelle (einschließlich sensibler Felder wie API-Schlüssel, interne Flags oder unnötige PII), wenn nur eine Teilmenge von Informationen erforderlich ist. Überprüfen Sie den lokalen Speicher/Protokolle/Konfigurationen auf Mobil-/Desktopgeräten.
Verwendung schwacher Kryptographie
Scannen Sie den Code nach schwachen Algorithmen (MD5, SHA1, DES), unsicheren Modi (ECB), nicht zeitkonstanten Vergleichen, unsicherer Zufälligkeit, fehlender ordnungsgemäßer Verschlüsselung/Hashing für sensible Daten.
Cross-Site Request Forgery (CSRF)
Analysieren Sie zustandsändernde Anfragen: Überprüfen Sie die Implementierung/Validierung von Anti-CSRF-Token, SameSite-Cookies, Standard-Header. Berücksichtigen Sie CSRF über mobile Deeplinks oder WebViews.
Sicherheitsfehlkonfiguration
Analysieren Sie Code und Konfigurationsdateien (z. B. Nginx, Cloud-Konfigurationen, Dockerfiles, IaC) auf Sicherheitsfehlkonfigurationen wie Debug-Modi, Standardanmeldeinformationen, unsichere Header/Cookies, permissive CORS, ausführliche Fehler oder unangemessene Berechtigungen. Überprüfen Sie auch die Manifeste von Mobil-/Desktop-Apps, Build-Einstellungen und lokale Anwendungskonfigurationen.
LDAP-Injection
Analysieren Sie Code, bei dem Benutzereingaben ohne Bereinigung LDAP-Abfragen erstellen. Typischerweise eine Backend-Schwachstelle.
Formel-Injection (CSV-Injection)
Analysieren Sie Code, der herunterladbare/exportierbare Dateien (CSV, XLSX) unter Verwendung von Benutzereingaben generiert. Überprüfen Sie die Bereinigung/das Escaping von Eingaben, die mit (=, +, -, @, =) beginnen.
Schwachstellen bei der Dokumentenerstellung
Analysieren Sie Code, der Dokumente (PDF, DOCX) mit Bibliotheken generiert. Suchen Sie nach unsicherer Verwendung von Eingaben, die zu XSS, SSRF, Befehlsinjektion oder Bibliotheks-Exploits führen. Kann auf Client/Server auftreten.
Integer-Überlauf/Unterlauf
Analysieren Sie Code (insb. C/C++, nativer Mobil-/Desktop-/Bibliothekscode) auf arithmetische Operationen mit benutzergesteuerten Zahlen ohne Grenzwertprüfung, die zu Umgehungen oder unerwartetem Verhalten führen können.
Prototype Pollution (Client- & serverseitiges JS)
(JavaScript/Node.js) Analysieren Sie den Code auf Muster (rekursives Zusammenführen, Eigenschaftsdefinition nach Pfad), bei denen Benutzereingaben globale Objektprototypen ändern können (potenzielle Umgehung, DoS, RCE). Relevant für WebViews/JS-Frameworks auf Mobil-/Desktopgeräten.
WebSocket-Sicherheit (auf Code-Ebene)
Analysieren Sie den WebSocket-Handler-Code: Eingabevalidierung, Autorisierungsprüfungen, XSS in Nachrichten. Suchen Sie nach Cross-Site WebSocket Hijacking (CSWSH) durch schwache Herkunftsüberprüfungen. Überprüfen Sie die clientseitige Handhabung auf Desktop-/Mobilgeräten.
Unsichere Cache-Konfiguration
Überprüfen Sie Anwendungs- und Serverkonfigurationsdateien und den zugehörigen Code auf unsichere Cache-Einstellungen. Dazu gehören die unsachgemäße Verwendung des Vary-Headers, falsch konfigurierte Framework-Cache-Einstellungen oder falsche explizite Cache-Control-Header, die dazu führen könnten, dass sensible Daten falsch zwischengespeichert werden, Cache-Poisoning oder Cache-Deception aufgrund der Konfiguration selbst.
Mögliche DoS-Muster auf Anwendungsebene
Analysieren Sie den Code auf DoS-Muster: ReDoS, aufwändige Operationen basierend auf Eingaben ohne Limits, Ressourcenerschöpfung (Zip-Bomben), Angriffe auf die algorithmische Komplexität. Überprüfen Sie die lokale Ressourcenhandhabung auf Desktop-/Mobilgeräten/Bibliotheken.
Mass Assignment
Analysieren Sie Code, bei dem Frameworks Benutzereingaben an Objekte/Modelle binden. Überprüfen Sie, ob die Filterung das Setzen von internen/sicherheitsrelevanten Eigenschaften verhindert.
Unsachgemäße Eingabevalidierung (Logik-Auswirkung)
Analysieren Sie Code, bei dem Typ, Format, Länge oder Bereich der Eingabe vor der Verwendung in der Logik nicht validiert werden, was potenziell den Kontrollfluss verändern, Regeln umgehen oder inkonsistente Zustände verursachen kann.
Fehler in der Kauf- & Preislogik
Analysieren Sie den Zahlungs-/Warenkorb-/Preisfindungscode. Suchen Sie nach Umgehungen der clientseitigen Preismanipulation, unsicherer Validierung von Artikeln/Mengen, Währungs-/Rundungsproblemen, Missbrauch von Rabatten/Gutscheinen und Race Conditions während des anfänglichen Kaufprozesses (z. B. mehrfache Verwendung von Guthaben).
Fehler in der Abonnement- & Webhook-Logik
Analysieren Sie die Logik für Zahlungs-Webhooks von Drittanbietern (z. B. Stripe, PayPal) und die Verwaltung des Abonnement-Lebenszyklus. Überprüfen Sie die Validierung der Webhook-Signatur. Stellen Sie sicher, dass alle relevanten Ereignisse behandelt werden, um den Benutzer-/Dienststatus korrekt zu aktualisieren (z. B. charge.refunded, customer.subscription.deleted, invoice.payment_failed). Suchen Sie nach Race Conditions bei Statusaktualisierungen und unsicherer Validierung des Zahlungsstatus.
Pufferüberlauf (Heap/Stack)
Analysieren Sie Code (insb. C/C++, nativer Mobil-/Desktop-/Bibliothekscode) auf Funktionen, die Benutzereingaben verarbeiten (strcpy, gets, memcpy), ohne Grenzwertprüfung (Speicherbeschädigung, Codeausführung).
Use After Free
Analysieren Sie Code (insb. C/C++, nativer Mobil-/Desktop-/Bibliothekscode) auf Zeiger, die nach der Freigabe des Speichers verwendet werden (Abstürze, Datenbeschädigung, Codeausführung).
Double Free
Analysieren Sie Code (insb. C/C++, nativer Mobil-/Desktop-/Bibliothekscode) auf Versuche, denselben Speicherbereich zweimal freizugeben (Speicherbeschädigung, Ausnutzung).
Format-String-Schwachstelle
Analysieren Sie Code (insb. C/C++, nativer Mobil-/Desktop-/Bibliothekscode), bei dem Benutzereingaben direkt als Format-String-Argument verwendet werden (printf, sprintf), was das Lesen/Schreiben im Speicher ermöglicht.
Unsichere Datenspeicherung auf Mobilgeräten
Analysieren Sie den Code von mobilen Apps auf die Speicherung sensibler Daten (Anmeldeinformationen, PII, Token) an unsicheren Orten (z. B. SharedPreferences ohne Verschlüsselung, externer Speicher, Protokolle, unsichere Datenbanken), die für andere Apps oder Benutzer mit physischem Zugriff zugänglich sind.
Umgehung von mobilen Schutzmechanismen (Root/Jailbreak/Debug/Emulator)
Analysieren Sie den Code von mobilen Apps auf das Vorhandensein und die Wirksamkeit von Root-/Jailbreak-Erkennung, Anti-Debugging- und Emulator-Erkennungsmechanismen. Überprüfen Sie, ob diese Prüfungen leicht umgangen werden können (z. B. nur clientseitige Prüfungen, vorhersehbare Logik).
Schwachstellen bei mobilen Deeplinks
Analysieren Sie den Code von mobilen Apps, der benutzerdefinierte URL-Schemata (Deeplinks) verarbeitet. Suchen Sie nach fehlender Eingabevalidierung bei Parametern (Potenzial für XSS, Pfad-Traversal, SQLi, wenn an das Backend übergeben), CSRF-Risiken (wenn Aktionen ohne Benutzerabsicht ausgelöst werden) oder offenen Weiterleitungen.
Sicherheit von mobilen WebViews
Analysieren Sie den Code von mobilen Apps, die WebViews verwenden. Überprüfen Sie, ob die JavaScript-Ausführung aktiviert ist (setJavaScriptEnabled(true)), ob die JavaScript-Brücke (addJavascriptInterface) sensible native Funktionen offenlegt und ob der geladene Inhalt ordnungsgemäß validiert wird (Potenzial für XSS, Laden von nicht vertrauenswürdigem Inhalt).
Mobile Netzwerksicherheit (ATS/Cleartext/Pinning)
Analysieren Sie die Netzwerkkonfiguration und den Code von mobilen Apps. Suchen Sie nach deaktivierter App Transport Security (ATS) unter iOS, erlaubtem Klartextverkehr unter Android, fehlendem Zertifikat-Pinning oder unsicheren TLS/SSL-Konfigurationen.
Unsichere Dateihandhabung auf Mobilgeräten (Externe Quellen)
Analysieren Sie den Code von mobilen Apps, der Dateien aus externem Speicher oder von Orten liest/verarbeitet, auf die andere Apps zugreifen können. Suchen Sie nach Pfad-Traversal, fehlender Validierung des Dateiinhalts oder unsicherer Handhabung, die zur Codeausführung oder zum Datenleck führen könnte, wenn eine bösartige App die Datei ändert.
Unsichere Interprozesskommunikation (IPC) auf Mobilgeräten
Analysieren Sie den Code von mobilen Apps, der IPC-Mechanismen verwendet (z. B. Intents, Content Providers, Broadcast Receivers unter Android; XPC unter iOS). Suchen Sie nach unsachgemäß geschützten Komponenten (fehlende Berechtigungen, zu weite Intent-Filter), Datenlecks oder der Fähigkeit bösartiger Apps, manipulierte Nachrichten zu senden, um unbeabsichtigte Aktionen auszulösen.
Umgehung der biometrischen Authentifizierung auf Mobilgeräten
Analysieren Sie den Code von mobilen Apps, der biometrische Authentifizierung implementiert. Überprüfen Sie, ob das Authentifizierungsergebnis serverseitig validiert wird oder ob eine clientseitige Umgehung möglich ist. Stellen Sie sicher, dass Fallback-Mechanismen sicher sind.
Reentrancy-Schwachstellen
Analysieren Sie den Smart-Contract-Code auf Reentrancy-Schwachstellen, bei denen externe Aufrufe den aufrufenden Vertrag wieder betreten können, bevor die ursprüngliche Ausführung abgeschlossen ist, was potenziell zu Zustandsinkonsistenzen oder zum Abzug von Geldern führen kann. Suchen Sie nach Mustern wie 'call-after-state-change' anstelle von 'check-effects-interactions'.
Integer-Überlauf/Unterlauf in Smart Contracts
Analysieren Sie den Smart-Contract-Code auf Integer-Überlauf- oder -Unterlauf-Schwachstellen bei arithmetischen Operationen, insbesondere bei solchen, die Token-Salden oder kritische Berechnungen betreffen. Stellen Sie die Verwendung sicherer mathematischer Bibliotheken sicher.
Abhängigkeit vom Zeitstempel
Analysieren Sie die Smart-Contract-Logik, die sich auf block.timestamp oder block.number für kritische Operationen stützt (z. B. Freischaltung von Geldern, Bestimmung von Gewinnern). Diese können von Minern bis zu einem gewissen Grad manipuliert werden.
Gas-Limit-Probleme & DoS in Smart Contracts
Analysieren Sie Smart Contracts auf Funktionen oder Schleifen, die unbegrenzt Gas verbrauchen könnten, was zu einem Denial of Service für Benutzer oder den Vertrag selbst führt. Suchen Sie nach Mustern wie der Iteration über große Arrays oder komplexen Berechnungen, die die Block-Gas-Limits überschreiten können.
Abhängigkeit von der Transaktionsreihenfolge (Front-Running)
Analysieren Sie die Smart-Contract-Logik auf Schwachstellen, bei denen das Ergebnis einer Transaktion von der Reihenfolge beeinflusst werden kann, in der Transaktionen abgebaut werden. Suchen Sie nach Szenarien, in denen ein Angreifer eine Transaktion beobachten und eine eigene einreichen kann, um das System auszunutzen (z. B. dezentrale Börsen, Auktionen).
Orakel-Manipulation
Analysieren Sie Smart Contracts, die sich auf externe Datenquellen (Orakel) stützen. Überprüfen Sie, wie Daten abgerufen, validiert und verwendet werden. Suchen Sie nach Schwachstellen, bei denen das Orakel manipuliert oder seine Daten beeinflusst werden kann, um den Vertrag auszunutzen.
Delegatecall-Schwachstellen
Analysieren Sie Smart-Contract-Code, der delegatecall verwendet. Stellen Sie sicher, dass das Speicherlayout des Zielvertrags kompatibel ist und delegatecall nicht mit nicht vertrauenswürdigen Verträgen verwendet wird, was zu Speicherbeschädigung oder beliebiger Codeausführung im Kontext des aufrufenden Vertrags führen könnte.
Zugriffskontrollprobleme in Smart Contracts
Analysieren Sie Smart-Contract-Funktionen auf ordnungsgemäße Zugriffskontrollmechanismen (z. B. onlyOwner, require(msg.sender == authorized_address)). Suchen Sie nach sensiblen Funktionen, die von unbefugten Benutzern aufgerufen werden können.
Logikfehler in Smart Contracts
Führen Sie eine allgemeine Überprüfung der Geschäftslogik des Smart Contracts durch, um Fehler, Grenzfälle oder unbeabsichtigte Verhaltensweisen zu identifizieren, die ausgenutzt werden könnten. Dies erfordert das Verständnis des beabsichtigten Zwecks des Vertrags.
Schwache On-Chain-Zufälligkeit in Smart Contracts
Analysieren Sie Smart Contracts, die Zufälligkeit erfordern. Die Verwendung von On-Chain-Quellen wie blockhash oder block.timestamp für die Zufälligkeit kann vorhersehbar sein oder von Minern beeinflusst werden. Überprüfen Sie die Abhängigkeit von solchen Quellen für kritische Sicherheitsentscheidungen.
HTTP Request Smuggling (Konfiguration)
Analysieren Sie Server-, Proxy- und Application-Gateway-Konfigurationen (z. B. Nginx, Apache, HAProxy, CloudFront, API-Gateway-Konfigurationen, IaC wie Terraform/CloudFormation) auf Einstellungen, die HTTP Request Smuggling ermöglichen könnten. Suchen Sie nach Konfigurationen, die zu einer mehrdeutigen Anfrage-Analyse zwischen Frontend- und Backend-Systemen führen, wie z. B. die fehlerhafte Handhabung von Content-Length- und Transfer-Encoding-Headern oder die falsche Verarbeitung der Chunked-Kodierung. Dies kann es Angreifern ermöglichen, Daten an die Anfragen anderer Benutzer anzuhängen oder voranzustellen.
XSSi & XS-Leaks
Analysieren Sie Code auf Cross-Site Script Inclusion (XSSi) und Cross-Site Leaks (XS-Leaks). Suchen Sie nach sensiblen Daten (JSON, CSV, Bilder), die ohne ordnungsgemäße Isolierung zurückgegeben werden (z. B. fehlende X-Content-Type-Options: nosniff, COOP/COEP-Header) oder über Skript-Tags/Frames von anderen Ursprüngen zugänglich sind. Überprüfen Sie Seitenkanäle (Timing, Fehlerereignisse), die Informationen über Ursprünge hinweg preisgeben könnten.
Cloud-Speicher-Fehlkonfiguration
Analysieren Sie Infrastructure as Code (IaC) oder Konfigurationsdateien auf unsichere Cloud-Speichereinstellungen (z. B. S3-Buckets, Azure Blobs). Suchen Sie nach öffentlichem Zugriff, fehlender Verschlüsselung, fehlender Protokollierung/Versionierung oder übermäßig permissiven Bucket-Richtlinien.
Cloud IAM & Berechtigungs-Fehlkonfiguration
Analysieren Sie IaC- und Cloud-Konfigurationen auf übermäßig permissive Identity and Access Management (IAM)-Richtlinien. Suchen Sie nach der Verwendung von Platzhaltern (*), fehlendem Prinzip der geringsten Rechte, hartcodierten IAM-Anmeldeinformationen oder unsicheren Vertrauensrichtlinien für die Rollenübernahme.
Containersicherheit (Docker/K8s)
Analysieren Sie Dockerfiles und Kubernetes-Manifeste. Suchen Sie nach Ausführung als Root, fehlenden Benutzeranweisungen, Verwendung von 'latest'-Tags, sensiblen Mounts, privilegiertem Modus oder fehlenden Ressourcenlimits.
Sicherheit von Infrastructure as Code (IaC)
Analysieren Sie Terraform, CloudFormation oder andere IaC-Dateien auf bewährte Sicherheitsmethoden. Suchen Sie nach unverschlüsselten Ressourcen, offenen Sicherheitsgruppen (0.0.0.0/0), fehlenden Backups oder unsicheren Standardeinstellungen.
Parser-Verwirrung
Analysieren Sie den Code, um festzustellen, ob die Anwendung unterschiedliche Parser für dasselbe Datenformat (z. B. JSON, YAML, XML) in verschiedenen Komponenten verwendet (z. B. Frontend vs. Backend, Proxy vs. Anwendung). Diskrepanzen beim Parsen können ausgenutzt werden, um Sicherheitskontrollen zu umgehen, was zu Schwachstellen wie Authentifizierungsumgehung, XSS oder SQL-Injection führt. Zum Beispiel sieht ein Proxy möglicherweise einen Satz von Parametern, während die Backend-Anwendung einen anderen sieht.
GraphQL-Introspektion aktiviert
Überprüfen Sie, ob für den GraphQL-Endpunkt in Produktionsumgebungen die Introspektion aktiviert ist. Die Introspektion ermöglicht es Angreifern, das gesamte Schema abzufragen und alle verfügbaren Abfragen, Mutationen, Abonnements, Typen und Felder offenzulegen. Dieses Informationsleck hilft Angreifern erheblich dabei, die API zu verstehen und potenzielle Schwachstellen zu entdecken.
Missbrauch von GraphQL Query Batching (DoS)
Untersuchen Sie, ob der GraphQL-Endpunkt Query-Batching zulässt, bei dem mehrere Abfragen in einer einzigen HTTP-Anfrage gesendet werden können. Wenn dies nicht ordnungsgemäß eingeschränkt wird, können Angreifer diese Funktion missbrauchen, um eine große Anzahl komplexer Abfragen gleichzeitig auszuführen, den Server zu überlasten und einen Denial-of-Service-Angriff (DoS) zu verursachen.
Logikfehler bei Zahlungen
Analysieren Sie den Zahlungs-/Warenkorb-/Preisfindungscode: Umgehungen der clientseitigen Preismanipulation, unsichere Validierung des Zahlungsstatus, Race Conditions (Rabatte/Guthaben), Währungs-/Rundungsprobleme, Validierung von Mengen/Artikeln.
Testcode-Analyse
Analysieren Sie Testdateien (Unit, Integration, E2E), um Geschäftslogik, Grenzfälle und potenzielle Sicherheitslücken zu verstehen. Suchen Sie nach auskommentierten Sicherheitstests, Tests für bekannte Fehler oder Testdaten, die sensible Logik preisgeben.
LLM/KI-Sicherheitsprobleme
Analysieren Sie Code, der mit Large Language Models (LLMs) interagiert. Suchen Sie nach Schwachstellen durch Prompt-Injection, unsicherer Handhabung von LLM-Ausgaben (XSS über LLM) oder Leckage von sensiblem Kontext in Prompts.
Analyse von Dokumentation & Kommentaren
Überprüfen Sie die Projektdokumentation und Codekommentare. Diskrepanzen zwischen Dokumentation und Implementierung offenbaren oft Fehler oder Sicherheitsprobleme. Kommentare können TODOs, Warnungen oder Erklärungen komplexer Logik enthalten, die auf Schwachstellen hinweisen.