Меню Закрыть

Snyk: ИИ-помощник GitHub Copilot может тиражировать ошибки в коде

Надежный VPN для России – подключайся через наш Телеграмм-бот:

AI-ассистенты не способны оценивать семантику и безопасность кода.

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

В ходе эксперимента, команда Snyk попросила Copilot сгенерировать SQL-запрос. Первый запрос, сгенерированный помощником, оказался качественным и безопасным, с использованием именованных параметров, что исключает риск использования инъекций:

// create query to match input with the description or product name var query = em.createQuery(“SELECT p FROM Product p WHERE LOWER(p.description) like OR lower(p.productName) like :input”, Product.class);

Купи VPN для России через Телеграмм – легко и быстро:

Затем исследователи в соседнем файле проекта самостоятельно написали уязвимый SQL-запрос и снова попросили нейросеть написать код. Во второй раз помощник предложил код, повышающий риск уязвимости:

// create query to match input with the description or product name String query = “Select * from Product where lower(description) like ‘%” + lowerInput + “%’ OR lower(product_name) like ‘%” + lowerInput + “%'”;

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

В Snyk отмечают следующие факторы, усугубляющие использование GitHub Copilot:

  • Закрепление плохого подхода. Новички, полагающиеся на ИИ-помощники, могут не осознавать свои ошибки, предполагая, что сгенерированный искусственным интеллектом код автоматически является безопасным.
  • Недостаток проверок. ИИ-помощники не способны анализировать безопасность своих предложений, в то время как разработчики зачастую пропускают этот этап, увеличивая тем самым риск внедрения уязвимостей в проект.
  • Применение устаревших паттернов. GitHub Copilot может предложить фрагменты, которые уже не считаются надежными в профессиональном сообществе, содержащие уязвимости и ошибки.
  • Игнорирование проблем безопасности: Copilot фокусируется на генерации кода, а не на оценке безопасности. Разработчики могут быть больше озабочены функциональностью, чем безопасностью, непреднамеренно упуская из виду уязвимости.
  Ученые создали карту сверхмассивных чёрных дыр

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

Ваши данные уже украдены. Вопрос лишь в том, когда их используют против вас.

Узнайте, как защититься!

Купить экспресс VPN означает приобретение услуги виртуальной частной сети (VPN), которая предлагает высокую скорость соединения и надежную защиту данных. Экспресс VPN (или ExpressVPN) — это конкретный бренд, известный своим качеством и производительностью, но термин также может использоваться для обозначения любых VPN-сервисов, которые акцентируют внимание на быстрой работе.

Экспресс VPN помогает защитить ваши данные от слежки, что особенно важно при использовании общественных Wi-Fi сетей.

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

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