Teacher
Professional
- Messages
- 2,670
- Reaction score
- 775
- Points
- 113

В среду GitHub объявил, что делает доступной функцию автоматической фиксации при сканировании кода в публичной бета-версии для всех клиентов с продвинутой системой безопасности, которая предоставляет целевые рекомендации во избежание возникновения новых проблем безопасности.
"Работающий на GitHub Copilot и CodeQL, code scanning autofix охватывает более 90% типов предупреждений в JavaScript, Typescript, Java и Python и предоставляет рекомендации по коду, которые устраняют более двух третей обнаруженных уязвимостей практически без редактирования", - сказали Пьер Темпель и Эрик Тули из GitHub.
Эта возможность, впервые представленная в ноябре 2023 года, использует комбинацию CodeQL, API второго пилота и OpenAI GPT-4 для генерации предложений по коду. Дочерняя компания Microsoft также заявила, что планирует добавить поддержку большего количества языков программирования, включая C # и Go, в будущем.
Функция автоматической фиксации при сканировании кода предназначена для того, чтобы помочь разработчикам устранять уязвимости по мере написания кода, генерируя потенциальные исправления, а также предоставляя объяснение на естественном языке при обнаружении проблемы на поддерживаемом языке.
Эти предложения могут выходить за рамки текущего файла и включать изменения в несколько других файлов и зависимости, которые следует добавить для устранения проблемы.
"Автоматическая фиксация при сканировании кода снижает барьер доступа для разработчиков, объединяя информацию о лучших практиках с подробностями кодовой базы и оповещением, чтобы предложить разработчику потенциальное исправление", - сказали в компании.
"Вместо того, чтобы начинать с поиска информации об уязвимости, разработчик начинает с предложения кода, демонстрирующего потенциальное решение для их кодовой базы".
Тем не менее, разработчику остается оценить рекомендации и определить, правильное ли это решение, а также убедиться, что оно не отклоняется от предполагаемого поведения.
GitHub также подчеркнул текущие ограничения предложений по коду автоматической фиксации, в связи с чем крайне важно, чтобы разработчики тщательно изучали изменения и зависимости, прежде чем принимать их -
- Предлагайте исправления, которые не являются синтаксически корректными изменениями кода
- Предлагайте исправления, которые являются синтаксически правильным кодом, но предлагаются в неправильном месте
- Предлагайте исправления, которые синтаксически корректны, но изменяют семантику программы
- Предлагать исправления, которые не устраняют основную причину или создают новые уязвимости
- Предлагайте исправления, которые лишь частично устраняют лежащий в основе недостаток
- Предлагать неподдерживаемые или небезопасные зависимости
- Предлагать произвольные зависимости, приводящие к возможным атакам по цепочке поставок