この記事では、Windows ハードウェア互換性プログラムの CodeQL テスト要件に関してよく寄せられる質問に回答します。 CodeQL がドライバー認定を向上させ、高セキュリティ標準を保証する方法について説明します。
デバイス認定に CodeQL が必要なのはいつですか?
要件の詳細については、 Windows ハードウェア互換性プログラム認定プロセス を参照してください。
なぜドライバーのソースコードにCodeQLが必要なのですか?
ドライバーのソース コードで CodeQL を要求する動機は、次の 2 つの主な理由に基づいています。
Microsoft によって認定されたコンポーネントが高セキュリティ標準を満たしていることを確認することで、Windows のセキュリティを強化します。
Microsoft のセキュリティ エンジニアが積極的に開発した高品質のツールをハードウェア エコシステムに提供します。
CodeQL と静的ツール ロゴテストはどのような種類のドライバーに適用されますか?
現在、静的ツールのロゴ テストでは、グラフィックス ドライバーを除くすべてのカーネルモード ドライバーに対して、CodeQLを実行し、「必修」クエリセットをクリアする必要があります。
現時点では必須ではありませんが、グラフィックス ドライバーで CodeQL を実行 することを強くお勧めします。 一部のクエリでは、ユーザー モード コンポーネントの有用な欠陥を特定することもできます。
ドライバー開発者向けの CodeQL の使用を管理するライセンスはどれですか?
WHCP テストに CodeQL を使用することは、 ハードウェア ラボ キット (HLK) のエンド ユーザー ライセンス契約で許可されています。
WHCP 参加者の場合、HLK の EULA によって GitHub の CodeQL 使用条件が上書きされます。 HLK EULA では、WHCP の一部として提出および認定されるドライバーを分析する目的で、通常のエンジニアリング プロセスの一部として、自動分析、CI、または CD 中に CodeQL を 使用できることを 示しています。
CodeQL を実行するには、Visual Studio または msbuild を使用する必要がありますか?
CodeQL では、MSBuild または Visual Studio を使用する必要はありません。
サポートされているコンパイラの一覧については、 サポートされている言語とフレームワーク を参照してください。
ドライバーが CodeQL によってスキャンされたことを HLK で確認するにはどうすればよいですか?
HLK の静的ツール ロゴ テストは、この要件を適用するテストです。
静的ツール ロゴ テストの詳細については、 MS Docs ページを参照してください。
CodeQL によってすべての欠陥が真の欠陥として報告されますか?
すべての CodeQL クエリには、さまざまなレベルの精度があります。
私たちの目標は、誤検知を最小限に抑えることですが、時には発生します。 この一連の Must-Fix クエリは、WHCP プログラムで使用するために開発され、手動で選択されています。これは、広範なテストでほぼゼロの誤検知が発生するためです。
クエリから誤検出が発生した場合、修正が必要なクエリのセットで、直ちに電子メールを送信するか、Windows-Driver-Developer-Supplemental-Tools リポジトリに問題を報告してください。できるだけ早急に解決できるよう努めます。
静的ツール ロゴ テストの目的で、クエリの "警告" または "エラー" の分類は重要ですか?
CodeQL はクエリを エラー、 警告、または 問題として分類しますが、この分類は、Windows ハードウェア互換性プログラムと静的ツール ロゴ テストで結果を評価する方法とは別です。
修正 が必要 なクエリに欠陥があるドライバーは、クエリの分類 ( 警告など) に関係なく、静的ツール ロゴ テストに合格せず、認定に失敗します。
Visual Studio ソリューションで DVL を生成できますか?
いいえ。DVL 生成はプロジェクト レベルで実行する必要があり、 Visual Studio ソリューションでは実行できません。
DVL を生成する完全な手順については、「 ドライバー検証ログの作成」を参照してください。
msbuild または Visual Studio のコンテキスト外でドライバー検証ログ (DVL) を生成できますか?
Windows Driver Kit (WDK) と Enterprise WDK (eWDK) の一部として、Microsoft はドライバー検証ログ (DVL) の生成に使用できる dvl.exe と呼ばれるコンポーネントを出荷しています。
WDK/eWDK プレビュー バージョン 21342 以降では、ドライバー名とアーキテクチャを指定することで、msbuild または Visual Studio を使用せずにコマンド ラインから DVL を生成できます。
詳細については、 ドライバー検証ログの作成 を参照してください。
ドライバーで CodeQL を使用する方法に関するコメントや質問があります。フィードバックを送信する場所
フィードバックや質問を stlogohelp@microsoft.comに送信します。