Skip to main content

Настройка рабочей области CodeQL

При работе с CodeQLтребуется доступ к стандартным библиотекам и запросам.

Настройка рабочей области CodeQL

Существует несколько различных способов предоставления расширения доступа к стандартным библиотекам и запросам из github/codeql репозитория:

  • Используйте начальную рабочую область CodeQL, которая содержит ряд каталогов, именованных в формате codeql-custom-queries-LANGUAGE. Они готовы к разработке собственных пользовательских запросов для каждого языка с помощью стандартных библиотек. Вы также можете приступить к работе с некоторыми примерами запросов. Рекомендуем использовать этот метод.

  • Обновите существующую рабочую область для CodeQL. Это рекомендуется для расширенных пользователей.

  • Пользователи CodeQL CLI могут открыть каталог, содержащий извлеченные данные CodeQL CLI.

Note

Репозиторий CodeQL включается в качестве подмодула в начальной рабочей области. Регулярно следует использовать git submodule update --remote для поддержания актуальности подмодул и обеспечения совместимости с более новыми версиями расширения VS Code и CodeQL CLI.

  1. Клонируйте репозиторий vscode-codeql-starter на компьютер. Убедитесь, что вы включаете подмодулы, используя git clone --recursiveили используя git submodule update --init --remote после клонирования.

  2. В VS Codeнажмите кнопку "Файл " и " Открыть рабочую область из файла", чтобы открыть vscode-codeql-starter.code-workspace файл из репозитория рабочей области.

Вариант 2. Обновление существующей рабочей области для CodeQL (дополнительно)

  1. В VS Codeвыберите "Файл ", а затем " Добавить папку в рабочую область..." и найдите локальный выход из репозитория CodeQL.

  2. Создайте один новый каталог на целевом языке для хранения пользовательских запросов и библиотек, используя параметры "Создать папку" или "Добавить папку в рабочую область".

  3. qlpack.yml Создайте файл в каждом целевом github/codeql каталоге языка (ветвь main этих файлов уже есть). Это указывает CodeQL CLI целевому языку для этого каталога и его зависимостей. CodeQL будет искать зависимости во всех открытых каталогах рабочей области или по пути поиска пользователя.

    Например, чтобы создать пользовательский каталог CodeQL зависит my-custom-cpp-pack от стандартной библиотеки CodeQL для C++, создайте qlpack.yml файл со следующим содержимым:

    name: my-custom-cpp-pack
    version: 0.0.0
    libraryPathDependencies: codeql/cpp-all
    

    Дополнительные сведения о том, почему нужно добавить qlpack.yml файл, см. в разделе "Настройка анализа с помощью пакетов CodeQL".

Вариант 3. Откройте каталог, содержащий извлеченный архив CodeQL CLI

Note

Для этого параметра необходимо настроить CodeQL CLI. Дополнительные сведения см. в разделе Настройка интерфейса командной строки CodeQL.

В VS Codeоткройте каталог, в котором извлечен каталог CodeQL CLI .zip архив для создания каталога CodeQL (например codeql-home).