GitHub запускает инструмент автоматической фиксации на базе искусственного интеллекта, помогающий разработчикам устранять недостатки безопасности

Teacher

Professional
Messages
2,673
Reputation
9
Reaction score
682
Points
113
github.jpg


В среду GitHub объявил, что делает доступной функцию автоматической фиксации при сканировании кода в публичной бета-версии для всех клиентов с продвинутой системой безопасности, которая предоставляет целевые рекомендации во избежание возникновения новых проблем безопасности.

"Работающий на GitHub Copilot и CodeQL, code scanning autofix охватывает более 90% типов предупреждений в JavaScript, Typescript, Java и Python и предоставляет рекомендации по коду, которые устраняют более двух третей обнаруженных уязвимостей практически без редактирования", - сказали Пьер Темпель и Эрик Тули из GitHub.

Эта возможность, впервые представленная в ноябре 2023 года, использует комбинацию CodeQL, API второго пилота и OpenAI GPT-4 для генерации предложений по коду. Дочерняя компания Microsoft также заявила, что планирует добавить поддержку большего количества языков программирования, включая C # и Go, в будущем.

Функция автоматической фиксации при сканировании кода предназначена для того, чтобы помочь разработчикам устранять уязвимости по мере написания кода, генерируя потенциальные исправления, а также предоставляя объяснение на естественном языке при обнаружении проблемы на поддерживаемом языке.

Эти предложения могут выходить за рамки текущего файла и включать изменения в несколько других файлов и зависимости, которые следует добавить для устранения проблемы.

"Автоматическая фиксация при сканировании кода снижает барьер доступа для разработчиков, объединяя информацию о лучших практиках с подробностями кодовой базы и оповещением, чтобы предложить разработчику потенциальное исправление", - сказали в компании.

"Вместо того, чтобы начинать с поиска информации об уязвимости, разработчик начинает с предложения кода, демонстрирующего потенциальное решение для их кодовой базы".

Тем не менее, разработчику остается оценить рекомендации и определить, правильное ли это решение, а также убедиться, что оно не отклоняется от предполагаемого поведения.


GitHub также подчеркнул текущие ограничения предложений по коду автоматической фиксации, в связи с чем крайне важно, чтобы разработчики тщательно изучали изменения и зависимости, прежде чем принимать их -
  • Предлагайте исправления, которые не являются синтаксически корректными изменениями кода
  • Предлагайте исправления, которые являются синтаксически правильным кодом, но предлагаются в неправильном месте
  • Предлагайте исправления, которые синтаксически корректны, но изменяют семантику программы
  • Предлагать исправления, которые не устраняют основную причину или создают новые уязвимости
  • Предлагайте исправления, которые лишь частично устраняют лежащий в основе недостаток
  • Предлагать неподдерживаемые или небезопасные зависимости
  • Предлагать произвольные зависимости, приводящие к возможным атакам по цепочке поставок
"Система имеет неполные знания о зависимостях, опубликованных в более широкой экосистеме", - отметили в компании. "Это может привести к предположениям, которые добавляют новую зависимость от вредоносного программного обеспечения, опубликованного злоумышленниками под именем зависимости со статистически вероятной вероятностью".
 
Top