Freigeben über


Häufig gestellte Fragen zu CodeQL für das Windows-Hardwarekompatibilitätsprogramm

In diesem Artikel werden häufig gestellte Fragen zu CodeQL-Testanforderungen für das Windows-Hardwarekompatibilitätsprogramm beantwortet. Erfahren Sie, wie CodeQL die Treiberzertifizierung verbessert und hohe Sicherheitsstandards gewährleistet.

Wann ist CodeQL für die Gerätezertifizierung erforderlich?

Informationen zu Anforderungsdetails finden Sie im Zertifizierungsprozess für das Windows-Hardwarekompatibilitätsprogramm .

Warum ist CodeQL für Treiberquellcode erforderlich?

Die Motivation für die Anforderung von CodeQL für Treiberquellcode basiert auf zwei Hauptgründen:

  1. Verbesserung der Windows-Sicherheit, indem sichergestellt wird, dass von Microsoft zertifizierte Komponenten hohe Sicherheitsstandards erfüllen.

  2. Bereitstellen des Hardwareökosystems mit hochwertigen Tools, die von Den Sicherheitstechnikern von Microsoft aktiv entwickelt wurden.

Für welche Treibertypen gelten CodeQL und der Logotest für statische Tools?

Derzeit erfordert der Statisches Tools-Logo-Test die Ausführung von CodeQL und das Übergeben des Must-Fix-Abfragesatzes für alle Kernelmodustreiber, außer Grafiktreibern.

Das Ausführen von CodeQL auf Grafiktreibern wird dringend empfohlen, obwohl es derzeit nicht erforderlich ist. Einige Abfragen können auch nützliche Fehler in Komponenten im Benutzermodus identifizieren.

Welche Lizenz regelt die Verwendung von CodeQL für Treiberentwickler?

Die Verwendung von CodeQL für WHCP-Tests ist im Rahmen des Hardware Lab Kit (HLK) -Lizenzvertrags zulässig.

Für WHCP-Teilnehmer überschreibt die EULA des HLK die CodeQL-Geschäftsbedingungen von GitHub. Die HLK EULA gibt an, dass CodeQL während der automatisierten Analyse, CI oder CD als Teil der normalen Engineering-Prozesse zum Zwecke der Analyse von zu übermittelnden und zertifizierten Treibern als Teil des WHCP verwendet werden kann .

Muss ich Visual Studio oder msbuild zum Ausführen von CodeQL verwenden?

CodeQL erfordert keine Verwendung von MSBuild oder Visual Studio.

Eine Liste der unterstützten Compiler finden Sie unter unterstützte Sprachen und Frameworks.

Wie überprüft der HLK, ob mein Treiber von CodeQL gescannt wurde?

Der Logotest für statische Tools im HLK ist der Test, der diese Anforderung erzwingt.

Details zum Logotest für statische Tools finden Sie auf der Seite "MS Docs".

Werden alle Mängel von CodeQL tatsächlich gemeldet?

Jede CodeQL-Abfrage weist unterschiedliche Genauigkeitsebenen auf.

Unser Ziel ist es, falsch positive Ergebnisse zu minimieren, aber gelegentlich werden sie auftreten. Unsere Suite von Must-Fix-Abfragen wurde entwickelt und für die Verwendung mit dem WHCP-Programm ausgewählt, da unsere umfangreichen Tests nahezu null falsch positive Ergebnisse ergeben.

Wenn Sie falsche Positive in einer Abfrage im Satz von Must-Fix-Abfragen sehen, senden Sie sofort eine E-Mail an stlogohelp@microsoft.com oder melden Sie ein Problem im Windows-Driver-Developer-Supplemental-Tools Repository, damit wir es so schnell wie möglich beheben können.

Ist es für die Zwecke des statischen Werkzeugs-Logotests wichtig, ob eine Abfrage entweder als "Warnung" oder "Fehler" klassifiziert wird?

CodeQL klassifiziert Abfragen als Fehler, Warnung oder Problem, aber diese Klassifizierung unterscheidet sich von der Bewertung der Ergebnisse durch das Windows-Hardwarekompatibilitätsprogramm und den Logotest für statische Tools.

Treiber mit Fehlern in einer Must-Fix-Abfrage bestehen den Statik-Tool-Logotest nicht und werden nicht zertifiziert, unabhängig von der Einstufung der Abfrage, wie zum Beispiel Warnung.

Kann ich eine DVL für Visual Studio-Lösungen generieren?

Nein, die DVL-Generierung muss auf Projektebene ausgeführt werden und kann nicht auf Visual Studio-Lösungen ausgeführt werden.

Vollständige Anweisungen zum Generieren einer DVL finden Sie unter Erstellen eines Treiberüberprüfungsprotokolls.

Kann ich ein Treiberüberprüfungsprotokoll (Driver Verification Log, DVL) außerhalb des Kontexts von msbuild oder Visual Studio generieren?

Im Rahmen des Windows Driver Kit (WDK) und des Enterprise WDK (eWDK) liefert Microsoft eine Komponente namens dvl.exe , die zum Generieren von Treiberüberprüfungsprotokollen (Driver Verification Logs, DVLs) verwendet werden kann.

In WDK/eWDK Preview-Versionen 21342 und höher können Sie eine DVL über die Befehlszeile generieren, ohne msbuild oder Visual Studio zu verwenden, indem Sie einen Treibernamen und eine Architektur angeben.

Weitere Details finden Sie unter Erstellen eines Treiberüberprüfungsprotokolls .

Ich habe Kommentare oder Fragen zur Verwendung von CodeQL auf meinem Treiber, wo sende ich Feedback?

Senden Sie Ihr Feedback und Ihre Fragen an stlogohelp@microsoft.com.