Поделиться через


Часто задаваемые вопросы по CodeQL для программы совместимости оборудования Windows

В этой статье приведены ответы на часто задаваемые вопросы о требованиях к тестированию CodeQL для программы совместимости оборудования Windows. Узнайте, как CodeQL улучшает сертификацию драйверов и обеспечивает высокий уровень безопасности.

Когда требуется CodeQL для сертификации устройств?

Дополнительные сведения см. в процессе сертификации программы совместимости оборудования Windows .

Почему CodeQL требуется для исходного кода драйвера?

Мотивация требования CodeQL к исходному коду драйвера основана на двух основных причинах:

  1. Повышение безопасности Windows путем обеспечения соответствия компонентов, сертифицированных корпорацией Майкрософт, высоким стандартам безопасности.

  2. Обеспечение экосистемы оборудования высококачественным инструментом, активно разработанным инженерами по безопасности Майкрософт.

К каким типам драйверов применяются кодQL и тест на логотип статических средств?

В настоящее время для проверки логотипа статических инструментов требуется выполнение CodeQL и передача набора запросов для всех драйверов в режиме ядра, кроме графических драйверов.

Запуск CodeQL на графических драйверах настоятельно рекомендуется, даже если он в настоящее время не требуется. Некоторые запросы также могут выявлять полезные дефекты в компонентах пользовательского режима.

Какая лицензия управляет использованием CodeQL для разработчиков драйверов?

Использование CodeQL для тестирования WHCP разрешено согласно лицензионному соглашению с конечными пользователями аппаратного набора для лабораторий (HLK).

Для участников WHCP EULA HLK перезаписывает условия GitHub CodeQL. EULA HLK указывает, что CodeQL можно использовать во время автоматического анализа, CI или CD в рамках обычных инженерных процессов для анализа драйверов, которые должны быть отправлены и сертифицированы в рамках WHCP.

Нужно ли использовать Visual Studio или msbuild для запуска CodeQL?

CodeQL не требует использования MSBuild или Visual Studio.

См. поддерживаемые языки и платформы для списка поддерживаемых компиляторов .

Как HLK проверяет, что мой драйвер был сканирован CodeQL?

Проверка логотипа статических средств в HLK — это тест, который применяет это требование.

Сведения о проверке логотипа статических инструментов см. на странице ms Docs.

Отображаются ли все дефекты, сообщаемые CodeQL истинными дефектами?

Каждый запрос CodeQL имеет различные уровни точности.

Наша цель заключается в том, чтобы свести к минимуму ложные срабатывания, но иногда они будут возникать. Наш набор запросов Must-Fix был разработан и выбран для использования с программой WHCP, так как наше обширное тестирование приводит к почти нулю ложных срабатываний.

Если вы видите ложные срабатывания из запроса в наборе запросов Must-Fix , сообщение электронной почты [email protected] немедленно или отправьте ошибку в репозитории Windows-Driver-Developer-Supplemental-Tools, и мы будем работать, чтобы получить решение как можно скорее.

Имеет ли запрос классификация "предупреждение" или "ошибка" в целях проверки логотипа статических средств?

CodeQL классифицирует запросы как ошибки, предупреждения или проблемы, но эта классификация отличается от того, как программа совместимости оборудования Windows и оценка результатов теста логотипов статических инструментов.

Драйверы с дефектами в любом запросе must-Fix не проходят проверку логотипа статических инструментов и не проходят сертификацию независимо от классификации запросов (например, предупреждение).

Можно ли создать DVL в решениях Visual Studio?

Нет, поколение DVL должно выполняться на уровне проекта и не может выполняться в решениях Visual Studio.

Полные инструкции по созданию DVL см. в разделе "Создание журнала проверки драйвера".

Можно ли создать журнал проверки драйвера (DVL) вне контекста msbuild или Visual Studio?

В составе комплекта драйверов Windows (WDK) и Enterprise WDK (eWDK) корпорация Майкрософт поставляет компонент с именемdvl.exe который можно использовать для создания журналов проверки драйвера (DVLS).

В предварительной версии WDK/eWDK версии 21342 и более поздних версий можно создать DVL из командной строки без использования msbuild или Visual Studio, указав имя драйвера и архитектуру.

Дополнительные сведения см. в статье о создании журнала проверки драйвера .

У меня есть комментарии или вопросы о том, как использовать CodeQL на моем драйвере, где я отправляю отзыв?

Отправьте свой отзыв и вопросы [email protected].