40% кода, сгенерированного AI, уязвим. Как защитить свою!

40% кода, сгенерированного AI, уязвим. Как защитить свою!

7 июля 2025 г.

ИИ может писать код в течение нескольких минут, но его также можно взломать так же быстро!

Инструменты кодирования ИИ, такие как Cursor и CHATGPT, изменяют то, как мы создаем программное обеспечение. Вместо того, чтобы бороться со сложным синтаксисом в течение нескольких часов, разработчики теперь разговаривают со своими редакторами, и код материализуется. Но эта простота использования часто содержится с стоимостью безопасности. Недавнийисследоватьпришел к выводу, что ~ 40% кода, сгенерированного AI, имели уязвимости. Хорошей новостью было то, что 55% проблем, найденных во время исследований, уже имели исправления!

Теперь вопрос в том, как мы можем продолжать использовать инструменты ИИ без ущерба для безопасности? Когда человек использует ИИ, чтобы помочь что -то построить, они могут открыть дыры в области безопасности, даже не осознавая его, что может привести к некоторым серьезным последствиям в будущем.

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

Почему вы должны заботиться о безопасности кода ИИ?

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

ИИ полезен, но не всегда прав

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

Вы можете сказать:«Эй, создайте мне систему входа в базу данных».И ИИ может вернуть вам код обратно

  • Хранит пароли в простом тексте
  • Строит запросы SQL, разбивая струны вместе, ведущие к инъекциям
  • Хардкоды с паролем базы данных непосредственно в файле

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

Вещи, которые вы можете сделать сегодня, чтобы оставаться безопаснее

Вот некоторые безопасные наборы, которые не являются супер техническими, но имеют большое значение:

Не доверяйте вкладу

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

Убедитесь, что ваши входы имеют правильные ограничения и дезинфицируются. Проверьте тип ввода, длину и содержание. Не допускайте потенциально злонамеренные полезные нагрузки, такие как <Script> или Rogue SQL. ИИ не всегда будет добавлять эти чеки, поэтому проведите быстрый обзор всего, что включает в себя пользовательские данные.

Никогда не секреты хардкодов

Большинству приложений нужны клавиши API или пароли. Убедитесь, что не жестко кодируют их в свой код. Это может быть легко, но вы можете случайно опубликовать свой репозиторий, и кто -то может добывать биткойн на вашей учетной записи AWS. Вместо этого используйте переменные среды. Инструменты, такие как файлы .env или секретный менеджер службы хостинга могут быть полезны. Это намного проще и гораздо безопаснее.

Используйте https

Всякий раз, когда вы разговариваете с чем -то в Интернете, например, сервер, API или фронт, всегда используйтеhttps://Полем Нетhttp://Полем S предназначен для «безопасного», и это означает, что данные зашифрованы в пути. Большинство современных инструментов являются облачными, как GCP или AWS, по умолчанию предоставляют «HTTPS». Если вы создаете веб -приложение без сервера, такие инструменты, как Vercel, Cloudflare и NetLify, предоставляют HTTPS бесплатно.

Не бегайте как администратор (даже локально)

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

Проверьте предложения AI перед копией/вставкой

Заманчиво просто скопировать/вставить код, сгенерированный ИИ, и запустить с ним. Но вместо этого заняться секундой, чтобы проверить и понять это.

  • Является ли обработка кода конфиденциальные данные?
  • Это делает что -то странное с входными данными?
  • Это открывает файлы, запускаю команды или подключение к Интернету?

Если да, убедитесь, что вы проверяете, что код выполняет функции точно так же, как вы планировали. Вы могли бы даже спросить ИИ: «Это безопасно?» Небольшое подсказка может принести вам лучшую версию.

Используйте плагин Linter или Security

Используйте плагин или плагин, такой как Eslint (для JS) или Bandit (для Python). Они могут предупредить вас о небезопасных шаблонах кода.

Платформы, такие как GitHub, также могут предоставить вам автоматические сканеры безопасности, которые будут помечать такие вещи, как, если вы случайно совершаете ключ API

Всегда исправляйте ваши зависимости

Старые библиотеки часто имеют проблемы с безопасностью. Всегда проверяйте зависимости, используемые Code, сгенерированным AI, на предмет свежести и точности. Используйте сканеры безопасности, такие как проверка зависимости OWASP, чтобы убедиться, что в зависимости нет уязвимостей. Всегда используйте популярные зависимости и регулярно обновляйте их. АНедавнее исследованиеобнаружил, что LLM на самом деле галлюцинируют 20% не существующих зависимостей.

Мышление безопасности, а не паранойя

Думайте о безопасности как о мышлении, а не паранойе. Очень распространенная фраза, используемая специалистами безопасности,-это «доверие, но проверьте», которая также относится к сгенерированному AI-коду. Модель угрозы вашего программного обеспечения! Представьте себе сценарий наихудшего случая - может ли любой пользователь удалить данные другого пользователя? Можно ли использовать ваше программное обеспечение для спама других людей? Опять же - используйте ИИ, чтобы придумать кромки и сценарии худших.

Попробуйте подсказки, как:

  • «Каковы риски безопасности при создании приложения чата, которое хранит сообщения в базе данных?»
  • "Можете ли вы помочь мне с безопасным потоком регистрации?"

Это становится отправной точкой и отличным партнером мозгового штурма. Помните: ИИ все еще просто догадывается. Последняя ответственность за вас. Используйте этобыстрый, чтобы просмотреть всю свою кодовую базу, с выбранным LLM.

Ваш 30-секундный контрольный список безопасности

  • Проверьте проверку входов (никогда не доверяйте пользовательским данным)
  • Не секреты жестких кодов - используйте переменные среды
  • Всегда используйте HTTPS для API и сайтов
  • Не запускайте свое приложение с помощью административных полномочий
  • Дважды проверьте, что предлагают инструменты искусственного интеллекта
  • Используйте линтеры или базовые инструменты безопасности

Установите ваши библиотеки также используют общие лучшие практики безопасности при написании программного обеспечения для безопасности. Обратитесь к OWASP Top 10 или аналогичным общим недостаткам кода. Если вы правильно поняли эти основы, вы уже опережаете большинство инди -приложений. Удачи кодирование!


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE