다음을 통해 공유


Windows 하드웨어 호환성 프로그램에 대한 CodeQL FAQ

이 문서에서는 Windows 하드웨어 호환성 프로그램의 CodeQL 테스트 요구 사항에 대한 질문과 대답을 제공합니다. CodeQL이 드라이버 인증을 개선하고 높은 보안 표준을 보장하는 방법을 알아봅니다.

디바이스 인증에 CodeQL이 필요한 경우는 언제인가요?

요구 사항 세부 정보는 Windows 하드웨어 호환성 프로그램 인증 프로세스를 참조하세요 .

드라이버 소스 코드에 CodeQL이 필요한 이유는 무엇인가요?

드라이버 소스 코드에서 CodeQL을 요구하는 동기는 다음 두 가지 주요 이유를 기반으로 합니다.

  1. Microsoft에서 인증한 구성 요소가 높은 보안 표준을 충족하도록 하여 Windows 보안을 개선합니다.

  2. Microsoft의 보안 엔지니어가 적극적으로 개발한 고품질 도구를 하드웨어 에코시스템에 제공합니다.

CodeQL 및 정적 도구 로고 테스트는 어떤 유형의 드라이버에 적용됩니까?

현재 정적 도구 로고 테스트에서는 CodeQL을 실행하고 그래픽 드라이버를 제외한 모든 커널 모드 드라이버에 대해 반드시 수정해야 하는 쿼리 집합을 전달해야 합니다.

현재 필요하지는 않지만 그래픽 드라이버에서 CodeQL을 실행하는 것이 좋습니다. 일부 쿼리는 사용자 모드 구성 요소에서 유용한 결함을 식별할 수도 있습니다.

드라이버 개발자를 위한 CodeQL 사용을 제어하는 라이선스는 무엇인가요?

WHCP 테스트에 CodeQL을 사용하는 것은 HLK(하드웨어 랩 키트) 최종 사용자 라이선스 계약에 따라 허용됩니다.

WHCP 참가자의 경우 HLK의 EULA는 GitHub의 CodeQL 사용 약관을 덮어씁니다. HLK EULA는 WHCP의 일부로 제출 및 인증할 드라이버를 분석하기 위한 일반 엔지니어링 프로세스의 일부로 자동화된 분석, CI 또는 CD 중에 CodeQL을 사용할 수 있다고 명시하고 있습니다.

Visual Studio 또는 msbuild를 사용하여 CodeQL을 실행해야 하나요?

CodeQL 은 MSBuild 또는 Visual Studio를 사용할 필요가 없습니다.

지원되는 컴파일러 목록은 지원되는 언어 및 프레임워크 를 참조하세요.

HLK는 내 드라이버가 CodeQL에서 검사되었는지 어떻게 확인하나요?

HLK의 정적 도구 로고 테스트는 이 요구 사항을 적용하는 테스트입니다.

정적 도구 로고 테스트에 대한 세부 정보는 MS Docs 페이지에서 찾을 수 있습니다.

CodeQL의 모든 결함이 실제 결함으로 보고되고 있나요?

모든 CodeQL 쿼리에는 다양한 수준의 정밀도가 있습니다.

우리의 목표는 거짓 긍정을 최소화하는 것이지만 때때로 발생합니다. 광범위한 테스트 결과 가양성이 거의 0이 되므로 WHCP 프로그램에서 사용하기 위해 Must-Fix 쿼리 제품군이 개발되어 신중하게 선택되었습니다.

반드시 수정해야 하는 쿼리 집합에서 오탐이 발생하는 경우, 즉시 stlogohelp@microsoft.com로 이메일을 보내거나 Windows-Driver-Developer-Supplemental-Tools 리포지토리에 문제를 제출해 주시면 최대한 빨리 해결하도록 하겠습니다.

정적 도구 로고 테스트의 목적에 따라 쿼리의 "경고" 또는 "오류" 분류가 중요합니까?

CodeQL은 쿼리를 오류, 경고 또는 문제로 분류하지만 이 분류는 Windows 하드웨어 호환성 프로그램 및 정적 도구 로고 테스트가 결과를 채점하는 방법과는 별개입니다.

Must-Fix 쿼리에 결함이 있는 드라이버는 쿼리 분류(예: 경고)에 관계없이 정적 도구 로고 테스트를 통과하지 못하고 인증에 실패합니다.

Visual Studio 솔루션에서 DVL을 생성할 수 있나요?

아니요, DVL 생성은 프로젝트 수준에서 실행되어야 하며 Visual Studio 솔루션에서 실행할 수 없습니다.

DVL을 생성하는 전체 지침은 드라이버 확인 로그 만들기를 참조하세요.

msbuild 또는 Visual Studio 컨텍스트 외부에서 DVL(드라이버 확인 로그)을 생성할 수 있나요?

WDK(Windows 드라이버 키트) 및 eWDK(Enterprise WDK)의 일부로 Microsoft는 DVL (드라이버 확인 로그)을 생성하는 데 사용할 수 있는dvl.exe라는 구성 요소를 제공합니다.

WDK/eWDK 미리 보기 버전 21342 이상에서는 드라이버 이름 및 아키텍처를 지정하여 msbuild 또는 Visual Studio를 사용하지 않고 명령줄에서 DVL을 생성할 수 있습니다.

자세한 내용은 드라이버 확인 로그 만들기 를 참조하세요.

내 드라이버에서 CodeQL을 사용하는 방법에 대한 의견이나 질문이 있습니다. 어디에서 피드백을 보내나요?

의견 및 질문을 stlogohelp@microsoft.com으로 보내주세요.