GitHub представив сканер команд зі слешем (slash-command scanner) у десктопному додатку Copilot, який перевіряє непідтверджений (uncommitted) код на наявність п'яти поширених вразливостей безпеки перед тим, як ви зробите комміт. Ця функція доступна всім користувачам Copilot, зокрема й тим, хто використовує безкоштовний рівень, і потребує лише оновлення додатка від 14 липня.

Фрагменти коду, згенеровані ШІ, є прихованим джерелом багів. Нещодавнє дослідження показало, що 45 % коду, створеного генеративними моделями, містить принаймні одну вразливість — від простих ін'єкцій до слабкої криптографії. Виявляючи ці проблеми локально, GitHub сподівається, що розробники зможуть виправити їх за лічені секунди, замість того, щоб виявляти їх пізніше в CI-конвейєрах або, що ще гірше, у продакшені.

Чому це важливо саме зараз

Розробники давно покладаються на багаторівневий стек безпеки: Dependabot попереджає про вразливі залежності, CodeQL виконує глибокий статичний аналіз у CI/CD, а ручне перевірка коду (code review) виявляє логічні помилки. Новий сканер Copilot додає перший рівень захисту, який працює безпосередньо на машині розробника, виловлюючи «легкі цілі» (low-hanging fruit) ще до того, як код покине редактор.

Сфера застосування інструмента навмисно обмежена. Він шукає:

  • Injection (Ін'єкції) – патерни SQL, shell або подібних ін'єкцій команд.
  • Cross-site scripting (XSS) – небезпечна обробка даних, наданих користувачем, у вебконтекстах.
  • Insecure data handling (Небезпечна обробка даних) – випадкове логування або розкриття секретних даних.
  • Path traversal (Обхід шляху) – спроби доступу до файлів поза межами призначеної директорії.
  • Weak cryptography (Слабка криптографія) – використання застарілих алгоритмів або жорстко закодованих ключів.

Внутрішній аналіз GitHub свідчить, що програмування за допомогою ШІ повторює ці помилки. Позначаючи їх на ранньому етапі, сканер діє як швидкий фільтр, дозволяючи розробникам усувати очевидні проблеми, залишаючи глибокий архітектурний аналіз існуючим інструментам.

Як це вписується в існуючий робочий процес безпеки

Уявіть стек безпеки як ієрархію:

  • Copilot slash command – локальна миттєва перевірка на очевидні патерни.
  • CodeQL – комплексний статичний аналіз, який виконується для всього репозиторію в CI/CD.
  • Dependabot – сканер, орієнтований на залежності, який відстежує відомі вразливості бібліотек.

Нова команда Copilot не замінює CodeQL або Dependabot; вона переносить частину навантаження з виявлення вразливостей на ранні етапи розробки. Коли розробник запускає команду, додаток упаковує поточну різницю (diff), надсилає її віддаленій моделі для аналізу та повертає стислий список знайдених проблем. Час очікування вимірюється секундами, що дозволяє розробнику відразу внести правки та зробити повторний комміт.

Використання функції

  1. Оновіть десктопний клієнт Copilot до версії від 14 липня.
  2. Вносьте зміни в код, як зазвичай.
  3. Відкрийте панель чату Copilot і введіть команду зі слешем (точний синтаксис відображається в інтерфейсі).
  4. Перегляньте отриманий список потенційних вразливостей.
  5. Виправте код і зробіть комміт.

Цей робочий процес нагадує швидкий запуск лінтера: жодних окремих панелей безпеки, жодного очікування завершення CI-завдання.

Обмеження та контраргумент

GitHub наголошує, що сканер є помічником, а не заміною людського судження чи глибшого тестування. Він не виявляє недоліки на рівні проєктування, відсутність дозволів або складні логічні помилки, які потребують ширшого погляду на застосунок.

На що звернути увагу далі

Підсумок: Сканер команд зі слешем у GitHub Copilot додає швидкий, безкоштовний локальний фільтр безпеки для кожного розробника, виловлюючи найпоширеніші баги, спричинені ШІ, до того, як вони стануть головним болем під час комміту. Він не замінить глибокий аналіз, але дасть командам можливість швидко усувати прості помилки, залишаючи складнішу роботу з безпеки там, де їй і місце — на етапах проєктування та рев'ю.