Сканування коду та CodeQL

Завершено

Залежно від того, який інструмент потрібно використовувати для аналізу та способу створення оповіщень, у сховищі є кілька різних способів налаштування сканування коду. Ось три основні способи:

  • Скористайтеся стандартним налаштуванням, щоб швидко настроїти аналіз CodeQL для сканування коду у сховищі. Настроювання за замовчуванням автоматично вибирає мови для аналізу, запуск програмного комплексу запитів і події, які викликають сканування. За потреби можна вручну вибрати програмний комплекс запитів, який потрібно запустити, і мови для аналізу. Після ввімкнення CodeQL дії GitHub виконуватимуть робочий цикл, щоб відсканувати код. Докладні відомості див. в статті "Настроювання параметрів за замовчуванням для сканування коду".
  • Щоб додати робочий цикл CodeQL до сховища, скористайтеся додатковим налаштуванням. Створює настроюваний файл робочого циклу, який використовує github/codeql-дію для запуску CLI CodeQL. Докладні відомості див. в статті "Настроювання розширеного настроювання сканування коду".
  • Запустіть CLI CodeQL безпосередньо в зовнішній системі CI і завантажте результати до GitHub. Докладні відомості див. в статті "Використання сканування коду з наявною системою CI"[2]

Раніше ми дізналися про початок роботи з настройками та конфігураціями за замовчуванням. Тепер ви дізнаєтеся, як налаштувати сканування коду за допомогою розширеного налаштування, а також як виконати групове настроювання робочого циклу сканування коду для кількох репозиторіїв.

Сканування коду за допомогою дій GitHub і CodeQL

Щоб налаштувати сканування коду за допомогою додаткового налаштування, виконайте такі дії:

  1. Перейдіть на вкладку параметрів сховища.
  2. На панелі ліворуч перейдіть до безпеки та аналізу коду , клацніть розкривний список настроювання і виберіть Додаткові. Перш ніж активувати сканування коду, може знадобитися ввімкнути розширену безпеку GitHub.
  3. Ви перейдете на нову сторінку з створеним файлом робочого циклу. Цей файл за замовчуванням називається codeql.yml і є настроюваним файлом робочого циклу, який потрібно взяти на себе у сховищі, щоб почати сканування коду.
  4. Щоб настроїти сканування коду, відредагуйте робочий цикл. Зазвичай ви можете зробити робочий цикл аналізу CodeQL, не вносячи до нього жодних змін.
  5. Скористайтеся кнопкою Зберегти зміни... кнопку у верхньому правому куті та введіть повідомлення про коміт у спливаючому вікні.
  6. Укажіть, чи потрібно зробити це безпосередньо в стандартній гілці або створити нову гілку, і почніть запит на витягнення.
  7. Натисніть кнопку Зберегти зміни.

У стандартному робочому циклі аналізу CodeQL сканування коду настроєно на аналіз коду щоразу, коли ви надсилаєте зміни до гілки за замовчуванням або будь-яких захищених гілок, або піднімаєте запит на витягування від стандартної гілки. Як наслідок, почнеться сканування коду.

Тригери on:pull_request та on:push для сканування коду корисні для різних цілей.

Групове настроювання сканування коду

Сканування коду можна настроїти одночасно в багатьох репозиторіях за допомогою сценарію. Якщо ви хочете використати сценарій, щоб підняти запити на витягнення, які додають робочий цикл Дій GitHub до кількох репозиторіїв, посилання на jhutchings1/Create-ActionsPRs[3] сховище, наприклад, за допомогою PowerShell, або nickliffen/ghas-enablement[4], наприклад за допомогою NodeJS.