Что такое Slopsquatting и как его избежать

Код на экране компьютера.

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

Что такое Slopsquatting

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

Киберпреступники обнаружили, что галлюцинации ИИ часто повторяются. Они используют этот недостаток, создавая вредоносные пакеты с использованием этих выдуманных имен и загружая их на доверенные хосты репозиториев кода, такие как GitHub. Когда разработчики просят свою любимую платформу ИИ предложить пакет с открытым исходным кодом, чат-бот предлагает одно из выдуманных имен, которые используют киберпреступники.

Запрос ChatGPT на предложения по пакетам кода.

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

Хотя это может не звучать как серьезная проблема, одно исследование показало, что из 16 основных моделей генерации кода ИИ почти 20 процентов рекомендуемых пакетов не существовало. Еще хуже то, что 43 процента имен выдуманных пакетов повторялись каждый раз из 10 запусков с одним и тем же запросом. Это значительно упрощает киберпреступникам выбор имен и получение их вредоносных пакетов, которые предлагаются и используются повторно.

В исследовании CodeLlama оказался худшим нарушителем. С другой стороны, у GPT-4 Turbo было наименьшее количество галлюцинаций. Однако это не означает, что вы полностью в безопасности.

На что нужно обратить внимание

Будь вы профессиональным, случайным или совершенно начинающим разработчиком, вы подвержены риску slopsquatting. Это на самом деле форма typosquatting, где единственное отличие между легитимным безопасным доменом и вредоносным — это одна буква. Но, как и в случае с typosquatting, slopsquatting можно избежать, если вы будете следить за этими пятью вещами:

  1. Немного неправильно написанные имена пакетов – Этот тревожный сигнал не является гарантией, особенно поскольку большинство выдуманных имен пакетов не имеют опечаток. Тем не менее, если вы заметили что-то неправильно написанное, подумайте дважды, прежде чем использовать это.
  2. Отсутствие обсуждений или отзывов – Пакеты с небольшим количеством или отсутствием обсуждений могут быть не самыми безопасными для использования. Это может означать, что они совершенно новые. Или это может сигнализировать о том, что это поддельный пакет, который полагается на предложения ИИ, чтобы разработчики могли его найти и невинно использовать.
  3. Предупреждения от других разработчиков – Я знаю, что легко полагаться на предложения ИИ, но уделите немного времени дополнительному исследованию. Используйте свою любимую поисковую систему и посмотрите, что другие говорят о любых предложениях пакетов, прежде чем использовать их сами.
  4. Не рекомендовано другими платформами – Если возможно, попробуйте те же или похожие запросы на нескольких платформах ИИ для кодирования. Если пакет редко или никогда не рекомендуется, это может быть серьезным признаком slopsquatting.
  5. Запутанные описания – Становится все более распространенным, что разработчики полагаются на “кодирование по настроению”, что означает, что они просто принимают предложения без какой-либо проверки. Тем не менее, вредоносные пакеты часто имеют запутанные описания на сайтах, на которых они размещены.

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

Список пакетов slopsquatting от ChatGPT.

Самые важные меры предосторожности

Даже когда вы знаете, на что обращать внимание, slopsquatting все еще трудно заметить во многих случаях. Поскольку это так ново, потребуется время, чтобы экспертам по безопасности разработать надежный процесс для идентификации и устранения вредоносных пакетов. Многие платформы ИИ также пытаются обучить свои модели распознавать выдуманные имена/пакеты и предупреждать разработчиков перед их использованием.

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

Самое важное — всегда запускать ваш код в безопасной песочнице. VirtualBox и VMWare — два самых популярных виртуальных машины, и они бесплатны для использования. Также существуют облачные песочницы, хотя большинство из них поддерживают только несколько языков. Replit является фаворитом, так как поддерживает более 50 языков.

Второе — используйте инструмент сканирования, чтобы проверить, безопасен ли пакет или нет. Я нашел, что расширение Socket Web является одним из самых простых вариантов для использования. Оно бесплатно и работает на многочисленных сайтах, чтобы сканировать перед загрузкой чего-либо. В настоящее время оно доступно для браузеров на основе Chrome и Firefox.

Как избежать блокировки Microsoft Teams в меню обновления рабочего стола

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

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