Подождите, пока ИИ-агентов не начнут взламывать...

MMaximilian Schwarzmüller
컴퓨터/소프트웨어경제 뉴스AI/미래기술

Transcript

00:00:00Я записываю это через пару часов после начала крайне разрушительной атаки
00:00:06на цепочку поставок. Атаки, которая распространилась на многие пакеты NPM и Python. И в
00:00:13момент записи пока не ясно, когда и где она закончится. И я
00:00:19создал отдельное видео на своем YouTube-канале, где подробно разбираю именно эту атаку
00:00:25на цепочку поставок, так как она была довольно сложной. Там я объясняю все детали,
00:00:30потому что это весьма интересно. Но здесь я хочу поговорить об атаках на цепочки поставок, безопасности и ИИ
00:00:38в эту эпоху, в которой мы живем. Потому что я уверен, что ситуация будет только
00:00:45ухудшаться. И я боюсь, что многие люди еще не осознают всех опасностей. И есть еще кое-что, что мы,
00:00:54как разработчики и пользователи технологий и ИИ, если честно, должны делать. И это касается нас,
00:01:01даже если мы не разработчики. Я знаю, что большинство зрителей или слушателей — разработчики. Но,
00:01:07как я поясню далее, речь идет не только о написании кода и не только об атаках
00:01:13на цепочки поставок в привычном понимании. Но начнем с основ. Что такое атака на цепочку поставок?
00:01:20Атака на цепочку поставок в контексте разработки ПО просто означает, что зависимость,
00:01:26которую вы используете, скомпрометирована. Вкратце, в этом и заключается суть такой атаки. А компрометация,
00:01:35конечно, может означать что угодно. Обычно мы видим, что в скомпрометированный пакет попадает
00:01:41вредоносный код, который собирает учетные данные и токены. То есть сканирует ваш жесткий диск на предмет
00:01:49секретов, которые могут быть в файлах .env или ваших учетных данных AWS и так далее. Затем он использует эти
00:01:56данные для доступа к вашим аккаунтам, а также для самораспространения. Чтобы затронуть другие пакеты. Если
00:02:04вы поддерживаете open-source пакет или даже закрытый проект, если вы работаете над чем-то,
00:02:11над каким-то пакетом или инструментом, от которого зависят другие люди, злоумышленникам интересно взломать
00:02:19вашу машину, чтобы скомпрометировать тот пакет или инструмент, который вы распространяете, потому что,
00:02:26как вы понимаете, это затронет еще больше людей. Так что все эти атаки на цепочки поставок, включая ту,
00:02:32что началась с пакетов Tanstack, — это черви, которые перекидываются на другие пакеты,
00:02:38чтобы заразить как можно больше пакетов и, в конечном итоге, машин, на которых
00:02:44эти пакеты установлены и используются. Есть вещи, которые вы можете сделать для защиты, и
00:02:51я создал об этом отдельное видео на моем другом канале, Akatamine. Например, убедиться,
00:02:56что вы устанавливаете только те пакеты, которым исполнилось хотя бы три дня,
00:03:02я имею в виду версии пакетов, или запуск кода в dev-контейнере или виртуальной машине.
00:03:08Все это нужно делать. Также не стоит хранить секреты в открытом виде в системе.
00:03:15Вместо этого используйте сервисы вроде Infisical или Doppler, где секреты хранятся
00:03:22в облаке или в ином зашифрованном виде, чтобы при сканировании вашей системы злоумышленник
00:03:28не увидел эти пароли. Это критически важно сделать прямо сейчас. Это важно,
00:03:37потому что таких атак становится все больше. Мы видим рост их числа, и почему так происходит?
00:03:42Дело вовсе не в том, что подобные атаки нельзя было проводить много лет назад.
00:03:49Это было возможно и тогда, и это случалось, но частота таких случаев резко возросла,
00:03:56и ИИ здесь — одна из главных причин. Давайте взглянем на роль ИИ. ИИ играет большую роль,
00:04:06потому что он, конечно, упрощает проведение таких атак. Будучи злоумышленником, вы можете
00:04:14использовать ИИ для анализа всевозможных репозиториев тех пакетов, которые вы хотите взломать,
00:04:22чтобы понять: как они собираются? Как они распространяются? Например,
00:04:30в случае с Tanstack, с которого началась эта недавняя атака, мейнтейнеры использовали
00:04:38теоретически безопасный подход с использованием процесса доверенной публикации NPM. Опять же,
00:04:45подробности в моем отдельном видео, но они также использовали
00:04:51определенный триггер событий GitHub Actions таким образом, что он не был защищен идеально, и это
00:05:00позволило атакующему использовать отравление кэша, чтобы перенести вредоносный код из недоверенной среды
00:05:07в доверенную. Так и началась эта атака. Детали смотрите в другом видео.
00:05:15Но, разумеется, ИИ упрощает анализ репозиториев и их рабочих процессов GitHub Actions
00:05:22или любых других CI/CD провайдеров. ИИ может массово анализировать все эти скрипты, весь код,
00:05:30и искать уязвимости. Конечно, мейнтейнеры тоже могут использовать ИИ для сканирования своих
00:05:38репозиториев и поиска векторов атак, но у атакующего здесь всегда есть преимущество,
00:05:45потому что он может искать что угодно и пробовать любые варианты, тогда как мейнтейнер
00:05:52должен предусмотреть абсолютно всё. ИИ помогает, но он все еще не идеален.
00:05:58Преимущество на стороне атакующего, и ИИ это упростил. ИИ также, конечно, упрощает
00:06:04процесс написания вредоносного кода, как и любого другого кода. И, конечно же,
00:06:12если вы смотрели мои видео или слушали подкасты, вы знаете, что я сторонник
00:06:20самостоятельного изучения кода и код-ревью, а не передачи всего на аутсорс ИИ. Но
00:06:27для меня очевидно, что ИИ стоит использовать для повышения продуктивности. Мы все еще
00:06:33пытаемся понять, какой объем использования ИИ допустим. Кто-то скажет 100%, они даже не смотрят
00:06:40в код. Это не мой случай, но спектр мнений широк. В любом случае ИИ позволяет
00:06:46выдавать огромные объемы кода. А если мы говорим о вредоносном коде, то для атакующего
00:06:53важны определенные вещи: нужен код, который делает свою работу и который
00:06:59не так-то просто обнаружить. Но его не волнует, красивый ли это код и следует ли он
00:07:06лучшим практикам. Его лучшая практика — чтобы атака удалась. И ИИ может в этом помочь,
00:07:13помогая писать вредоносный код и предлагая идеи по атаке на пакеты.
00:07:19Это то, чем помогает ИИ, но это лишь одна сторона медали. Другая очень важная сторона заключается в том,
00:07:26что кода стало больше, чем когда-либо. А это значит, что стало больше целей для атак.
00:07:35Возможно, вы следили за историей с проблемами надежности GitHub и его сбоями.
00:07:43Причина в том, что в GitHub пушится больше кода, чем когда-либо, именно из-за ИИ.
00:07:49Потому что генерировать код стало проще, и больше людей этим занимаются,
00:07:55включая тех, кто вообще не понимает, что этот код делает и зачем он нужен. Слепое
00:08:02программирование популярно, и у него есть свои сценарии. Например, если я
00:08:11хочу объединить пять PDF-документов в один, я с радостью попрошу ИИ-агента сделать это,
00:08:18и он, скорее всего, напишет какой-то код. Мне плевать на этот код, это разовая
00:08:24задача, верно? Но если я запущу его в системе, агент может установить какой-нибудь пакет для
00:08:32объединения PDF, который был скомпрометирован. Я даже не узнаю, что
00:08:37какой-то пакет использовался, ведь я просто хотел склеить PDF-файлы.
00:08:43Так что сейчас ситуаций, когда устанавливаются пакеты, больше, чем когда-либо, так как
00:08:49кода пишется больше — и для ПО, и для разовых задач. И это, конечно,
00:08:56делает атаки на цепочки поставок привлекательнее, чем раньше, потому что
00:09:01появилось множество целей, которые вообще ничего не смыслят в безопасности ПО и кибербезопасности.
00:09:06Будем честны: многие из нас, разработчиков, теоретически знают о рисках, но могут
00:09:14не придавать им значения, потому что удобство в работе важнее.
00:09:22Нам нужно пересмотреть свой подход. Мы должны защищать свои машины, убедиться,
00:09:31что разработка идет в защищенной среде: в виртуальных машинах, dev-контейнерах, чтобы
00:09:37учетные данные не валялись повсюду. И если мы используем ИИ-агентов, а мы, скорее всего,
00:09:44их используем, нам нужно быть осторожными, так как здесь есть два пути попасть в беду.
00:09:53Давайте разберемся, почему ИИ-агенты могут быть проблемой. Одна из них в том,
00:10:00что когда мы используем агентов для дел, не связанных напрямую с кодом, или даже
00:10:08когда просим их помочь с программой, мы не всегда видим всё, что они делают.
00:10:17Если вы используете Claude Code или что-то подобное (я не имею ничего против этих инструментов,
00:10:23напротив, у меня есть курсы по ним, потому что они крайне полезны), но если вы
00:10:30просто отпускаете их в свободное плавание со словами «мне нужна эта фича» и не особо
00:10:35вникаете в процесс, вы можете даже не заметить, что именно они устанавливают.
00:10:41Опять же, ставятся пакеты — и вот вы уже скомпрометированы. Одной из мер защиты
00:10:49здесь является ограничение количества используемых пакетов, но
00:10:54с ИИ-агентом вы можете потерять контроль: он может установить то, что вы бы
00:11:00никогда не поставили сами. Это очевидная опасность, но есть и менее очевидная.
00:11:07ИИ-агенты — суперпривлекательные цели для атак. Что я под этим подразумеваю? Ну, эти атаки
00:11:15распространяются как черви, поражая всевозможные пакеты.
00:11:23Теперь представьте, как интересно было бы атакующему заразить Claude Code или Cursor,
00:11:32или агент PyCode, или OpenCode — любого ИИ-агента. Почему? Ну, если бы у вас был вредоносный код,
00:11:42оптимизированный специально для проникновения в пакеты, репозитории и базы кода ИИ-агентов,
00:11:52тогда этот код мог бы содержать части для промпт-инъекций. Он мог бы, например,
00:12:00целенаправленно менять код агентов так, чтобы их главной задачей был не просто слив данных.
00:12:08Предположим, внедренный вредоносный код в пакете не пытается украсть данные напрямую,
00:12:15а подправляет код агента так, чтобы у него появились особые инструкции,
00:12:22заставляющие его делать на вашей машине то, чего вы не хотите. Представьте, что у Claude Code есть
00:12:28секретный системный промпт, который обычно задается сотрудниками Anthropic, но теперь
00:12:34он установлен вредоносным кодом, велящим ему игнорировать ваши запросы
00:12:39и только имитировать их выполнение. Либо он выполняет задание, но при этом
00:12:46дополнительно сканирует систему на наличие секретов. Или пишет небольшую программу,
00:12:52которая этим занимается, а затем отправляет данные на удаленный сервер.
00:13:00Тут пределов нет, потому что внезапно у вас в системе оказывается троянский конь.
00:13:06Внезапно ИИ-агент на вашей системе «сходит с ума», и вовсе не потому,
00:13:12что ИИ сам по себе плох или модель ошибается. А потому, что сам код агента,
00:13:20его системный промпт или что-то еще было скомпрометировано. Это вполне реальный сценарий,
00:13:28и я гарантирую: рано или поздно это случится. Это слишком очевидная и интересная цель.
00:13:34ИИ-агенты — идеальная мишень. Это произойдет. Мы увидим новый уровень атак,
00:13:41когда они не просто заражают пакеты и крадут учетные данные (что само по себе ужасно),
00:13:49мы увидим, как ИИ-агенты начинают вредить из-за внедренного кода.
00:13:54Это лишь вопрос времени. Как видите, здесь много слоев. И это та самая
00:14:01реальность, в которой мы теперь живем. Наверное, это похоже на ранние дни интернета:
00:14:08путь тернист, пока мы во всем разбираемся. Нам придется понять, как усилить безопасность,
00:14:14как всё делать правильно. Очевидный шаг и для разработки, и для запуска ИИ-агентов —
00:14:21не делать этого в среде, где всё может пойти не так. Вы не хотите запускать их там,
00:14:26где хранятся ваши пароли, секреты или любые важные данные. Не делайте этого
00:14:32на основной машине. Запускайте агентов и пишите софт в изолированных виртуальных,
00:14:37удаленных машинах — где угодно, чтобы ограничить радиус поражения. Опять же,
00:14:42это лишь вопрос времени, когда что-то пойдет не так, и мы должны это осознать.
00:14:49Это первый важный шаг. Всё меняется быстро. Безопасность — это огромная проблема,
00:14:56и она никуда не денется, а станет еще острее по мере развития ИИ. ИИ-модели
00:15:03умнеют, особенно в связке с инструментами, в которых работают. Это дает
00:15:11массу новых возможностей, но вместе с тем и огромное удобство. А удобство всегда
00:15:17опасно, потому что заставляет вас расслабиться и что-то упустить из виду.
00:15:23ИИ повсюду. Множество людей, ничего не знающих о кибербезопасности, используют его.
00:15:30И даже те, кто в этом разбирается, находятся в большой опасности. Нас ждет
00:15:34непростой период, я полагаю. Нам нужно всё переосмыслить и быть крайне осторожными
00:15:40в том, где и как мы запускаем агентов и работаем над кодом.
00:15:49.

Key Takeaway

Развитие ИИ-агентов делает их идеальными целями для атак на цепочки поставок, что требует обязательного запуска кода и агентов в изолированных средах (виртуальных машинах или dev-контейнерах) для предотвращения кражи учетных данных.

Highlights

  • Атаки на цепочки поставок (Supply Chain Attacks) используют взломанные зависимости для сканирования жестких дисков на наличие секретов в файлах .env и учетных данных AWS.

  • Использование облачных сервисов управления секретами вроде Infisical или Doppler предотвращает кражу паролей при сканировании системы вредоносным кодом.

  • Безопасная практика установки пакетов включает использование версий, которым исполнилось не менее трех дней, для минимизации риска внедрения свежего вредоносного кода.

  • ИИ ускоряет атаки за счет массового автоматизированного анализа репозиториев и рабочих процессов GitHub Actions на предмет уязвимостей в конфигурации CI/CD.

  • Слепое использование ИИ-агентов для разовых задач, таких как объединение PDF, создает риск скрытой установки вредоносных пакетов без ведома пользователя.

  • Существует риск внедрения вредоносного кода непосредственно в системные промпты ИИ-агентов, что позволяет манипулировать их поведением на уровне логики выполнения.

Timeline

Механика атак на цепочки поставок

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

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

Методы защиты и роль ИИ в киберугрозах

  • Изоляция разработки в виртуальных машинах и dev-контейнерах ограничивает радиус поражения при запуске вредоносного кода.
  • Хранение секретов в зашифрованном облачном виде вместо открытых файлов в системе блокирует возможность их кражи при сканировании.
  • ИИ дает атакующим преимущество в поиске уязвимостей в скриптах CI/CD за счет анализа больших объемов кода за короткое время.

Эффективная защита требует отказа от хранения паролей в локальных файлах и перехода на специализированные сервисы. Использование ИИ значительно снижает порог входа для проведения сложных атак, позволяя злоумышленникам быстро находить ошибки в процессах сборки, таких как Trusted Publishing в NPM или некорректно настроенные триггеры GitHub Actions.

Риски использования ИИ-агентов и теневой код

  • ИИ позволяет генерировать огромные объемы кода, что увеличивает общее количество потенциальных целей для атак.
  • ИИ-агенты при выполнении задач могут самостоятельно устанавливать зависимости, которые пользователь никогда бы не выбрал вручную.
  • Популярность “слепого программирования” приводит к запуску непроверенного кода пользователями, не обладающими навыками в безопасности.

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

Будущее атак: компрометация логики агентов

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

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

Community Posts

View all posts