- Регистрация
- Окт 17, 2022
- Сообщения
- 870
- Реакции
- 91
- Награды
- 1
Когда вредоносная программа Magecart скрывается в EXIF-данных динамически загружаемого значка сайта стороннего разработчика, ни один сканер репозитория её не обнаружит — потому что вредоносный код фактически никогда не затрагивает ваш репозиторий. По мере того, как команды внедряют Claude Code Security для статического анализа, это именно та техническая граница, где заканчивается сканирование кода с помощью ИИ и начинается выполнение кода на стороне клиента.
Подробный анализ того, где заканчивается действие Claude Code Security и что охватывает мониторинг во время выполнения, доступен здесь .
использовал Недавно обнаруженный в сети скиммер Magecart трехступенчатую цепочку загрузчиков, чтобы скрыть свою полезную нагрузку внутри EXIF-метаданных значка сайта (favicon) — никогда не затрагивая исходный код продавца, никогда не появляясь в репозитории и выполняясь полностью в браузере покупателя при оформлении заказа. Эта атака поднимает важный вопрос: какой именно инструмент должен быть способен её обнаружить?
Атаки в стиле Magecart редко связаны с классическими уязвимостями в собственном исходном коде. Речь идёт о проникновении в цепочку поставок. Вредоносный JavaScript обычно проникает через скомпрометированные сторонние ресурсы: менеджеры тегов, виджеты оплаты/оформления заказа, аналитические инструменты, скрипты, размещенные на CDN, и изображения, загружаемые в браузер во время выполнения. Организация-жертва не писала этот код, не проверяет его в запросах на слияние, и зачастую он вообще отсутствует в её репозитории.
Это означает, что инструмент статического анализа на основе репозитория, такой как Claude Code Security, в данном сценарии ограничен по своей конструкции, поскольку он может анализировать только то, что находится в репозитории или что вы ему явно передаете. Любой скиммер, работающий исключительно с модифицированными сторонними ресурсами или динамически загружаемыми бинарными файлами в продакшене, никогда не попадает в его поле зрения. Это не ошибка в продукте; это несоответствие областей действия.
Вот начальный экран загрузки, который можно увидеть на взломанных сайтах:

Этот заглушечный скрипт динамически загружает скрипт с URL-адреса, который выглядит как легитимный CDN Shopify. Затем загруженный скрипт формирует фактический вредоносный URL-адрес, используя обфусцированные массивы индексов:

После расшифровки это указывает на //b4dfa5[.]xyz/favicon.ico. Далее происходит самое интересное: скрипт извлекает значок favicon в виде бинарных данных, анализирует метаданные EXIF для извлечения вредоносной строки и выполняет её с помощью функции new Function() — полезная нагрузка находится внутри метаданных изображения, поэтому она невидима для всего, что не отслеживает браузер во время выполнения.
В ходе финального вызова для эксфильтрации украденные платежные данные незаметно отправляются методом POST на сервер, контролируемый злоумышленником:

Данная цепочка обладает четырьмя важными свойствами, которые необходимо учитывать при дальнейшем обсуждении инструментов: начальный загрузчик выглядит как безобидный сторонний компонент; полезная нагрузка скрыта в бинарных метаданных изображения; эксфильтрация происходит непосредственно из браузера покупателя; и ничто из этого не требует изменения исходного кода самого продавца.
Claude Code Security предназначен для сканирования кодовых баз, отслеживания потоков данных и предложения решений уязвимостей в коде, который пишете вы или ваши команды. Это делает его полезным для защиты собственных приложений, но также определяет его «слепые зоны» для этого класса атак.
В этом сценарии у него нет практической возможности отслеживать вредоносный код, внедряемый только в скрипты сторонних разработчиков, CDN или менеджеров тегов, которые никогда не хранятся в ваших репозиториях. Он также не может анализировать полезные нагрузки, скрытые в бинарных ресурсах, таких как значки сайтов или изображения, которые не являются частью вашего исходного кода. Он не может оценить риск или текущую репутацию доменов, контролируемых злоумышленниками, которые появляются только во время выполнения, а обнаружение аномальных сетевых запросов на стороне браузера во время оформления заказа также выходит за рамки его возможностей.
Вклад статического анализа (хотя и не в качестве основного средства контроля) может заключаться в случаях, когда ваш собственный код содержит логику динамического внедрения скриптов, что инструмент анализа кода может пометить как рискованное. А если собственный код жестко закодирует подозрительные конечные точки для утечки данных или использует небезопасную логику сбора данных, статический анализ может выделить эти потоки для проверки.

В сценарии Magecart наиболее важны четыре верхние строки, и Claude Code Security не имеет доступа к информации о них во время выполнения.
Два нижних примера представляют собой принципиально иную угрозу: разработчик случайно пишет вредоносный код в собственном репозитории.
The favicon steganography technique above is sophisticated, but it's one instance of a broader pattern. Web supply chain attacks arrive through several distinct mechanisms, each with the same defining characteristic: the malicious activity happens at runtime, in the browser, through assets the merchant didn't create. See how AI-generated, polymorphic JavaScript is raising the stakes →
A few others worth naming:
Внедрение вредоносного iframe. Взломанный сторонний виджет незаметно накладывает на легитимную форму оформления заказа iframe, управляемый злоумышленником. Пользователь видит реальную страницу, но его нажатия клавиш отправляются злоумышленнику. При этом в репозитории продавца ничего не меняется.
Злоупотребление пикселями отслеживания. Аналитические и рекламные пиксели — почти повсеместно используемые на сайтах электронной коммерции — загружаются с внешних CDN. Когда эти CDN скомпрометированы или взломан сам поставщик пикселей, код отслеживания, работающий на каждой странице, становится каналом утечки данных. Код продавца по-прежнему обращается к той же самой, на первый взгляд, легитимной конечной точке, что и всегда.
Сбор учетных данных на основе DOM. Скрипт, загружаемый через менеджер тегов, незаметно отслеживает события полей формы на страницах входа или оплаты, перехватывая данные до их отправки. Атака полностью сосредоточена в обработчике событий, зарегистрированном во время выполнения, а не в чем-либо, что мог бы увидеть статический сканер.
Каждый из этих случаев следует той же логике, что и в случае с Magecart: угроза находится вне репозитория, выполняется в контексте, который статический анализ не может обнаружить, и нацелена на разрыв между тем, что вы выпустили, и тем, что фактически работает в браузерах ваших пользователей. Полное описание того, как каждый вектор соответствует охвату инструментов — и как выглядит многоуровневая программа защиты по всем этим векторам — вы найдете в руководстве, ссылка на которое приведена ниже.
Для угроз веб-цепочке поставок, подобных этой кампании Magecart, непрерывный мониторинг того, что фактически выполняется в браузерах пользователей, является основным уровнем, обеспечивающим прямую видимость атаки в момент её совершения. Платформы мониторинга выполнения на стороне клиента отвечают на несколько вопросов, на которые не могут ответить статические инструменты: «Какой код выполняется в браузерах моих пользователей прямо сейчас и что он делает?»
В то же время, мониторинг во время выполнения — это лишь часть картины. Он наиболее эффективен в рамках стратегии многоуровневой защиты. Статический анализ и управление цепочкой поставок уменьшают поверхность атаки, а мониторинг во время выполнения выявляет то, что ускользает от внимания, и то, что находится полностью за пределами ваших репозиториев.
Оценка эффективности репозиторий-ориентированного инструмента, такого как Claude Code Security, в контексте атак во время выполнения — это ошибка категории, а не недостаток продукта. Это как ожидать, что дымовой извещатель потушит пожар. Это неподходящий инструмент для этой задачи, но идеальный для того, для чего он был разработан. Для пожаробезопасного здания нужны дымовые извещатели и огнетушители, а для безопасного веб-сайта — Claude Code Security и мониторинг во время выполнения в вашей системе. Для Magecart и подобных атак с использованием скимминга на стороне клиента необходимо окно мониторинга во время выполнения в браузере. Статическое сканирование репозиториев само по себе просто не показывает, где на самом деле происходят эти атаки.
Если вы на уровне директора по информационной безопасности сопоставляете инструменты с классами угроз, мы подготовили краткое руководство о том, как безопасность кода и мониторинг во время выполнения взаимодействуют во всем спектре векторов веб-цепочки поставок — и где каждый из них перестает быть полезным.
Подробный анализ того, где заканчивается действие Claude Code Security и что охватывает мониторинг во время выполнения, доступен здесь .
использовал Недавно обнаруженный в сети скиммер Magecart трехступенчатую цепочку загрузчиков, чтобы скрыть свою полезную нагрузку внутри EXIF-метаданных значка сайта (favicon) — никогда не затрагивая исходный код продавца, никогда не появляясь в репозитории и выполняясь полностью в браузере покупателя при оформлении заказа. Эта атака поднимает важный вопрос: какой именно инструмент должен быть способен её обнаружить?
Magecart существует вне вашей кодовой базы.
Атаки в стиле Magecart редко связаны с классическими уязвимостями в собственном исходном коде. Речь идёт о проникновении в цепочку поставок. Вредоносный JavaScript обычно проникает через скомпрометированные сторонние ресурсы: менеджеры тегов, виджеты оплаты/оформления заказа, аналитические инструменты, скрипты, размещенные на CDN, и изображения, загружаемые в браузер во время выполнения. Организация-жертва не писала этот код, не проверяет его в запросах на слияние, и зачастую он вообще отсутствует в её репозитории.
Это означает, что инструмент статического анализа на основе репозитория, такой как Claude Code Security, в данном сценарии ограничен по своей конструкции, поскольку он может анализировать только то, что находится в репозитории или что вы ему явно передаете. Любой скиммер, работающий исключительно с модифицированными сторонними ресурсами или динамически загружаемыми бинарными файлами в продакшене, никогда не попадает в его поле зрения. Это не ошибка в продукте; это несоответствие областей действия.
Схема атаки: как скиммер скрывается
Вот начальный экран загрузки, который можно увидеть на взломанных сайтах:

Этот заглушечный скрипт динамически загружает скрипт с URL-адреса, который выглядит как легитимный CDN Shopify. Затем загруженный скрипт формирует фактический вредоносный URL-адрес, используя обфусцированные массивы индексов:

После расшифровки это указывает на //b4dfa5[.]xyz/favicon.ico. Далее происходит самое интересное: скрипт извлекает значок favicon в виде бинарных данных, анализирует метаданные EXIF для извлечения вредоносной строки и выполняет её с помощью функции new Function() — полезная нагрузка находится внутри метаданных изображения, поэтому она невидима для всего, что не отслеживает браузер во время выполнения.
В ходе финального вызова для эксфильтрации украденные платежные данные незаметно отправляются методом POST на сервер, контролируемый злоумышленником:

Данная цепочка обладает четырьмя важными свойствами, которые необходимо учитывать при дальнейшем обсуждении инструментов: начальный загрузчик выглядит как безобидный сторонний компонент; полезная нагрузка скрыта в бинарных метаданных изображения; эксфильтрация происходит непосредственно из браузера покупателя; и ничто из этого не требует изменения исходного кода самого продавца.
Что может и чего не может увидеть Claude Code Security
Claude Code Security предназначен для сканирования кодовых баз, отслеживания потоков данных и предложения решений уязвимостей в коде, который пишете вы или ваши команды. Это делает его полезным для защиты собственных приложений, но также определяет его «слепые зоны» для этого класса атак.
В этом сценарии у него нет практической возможности отслеживать вредоносный код, внедряемый только в скрипты сторонних разработчиков, CDN или менеджеров тегов, которые никогда не хранятся в ваших репозиториях. Он также не может анализировать полезные нагрузки, скрытые в бинарных ресурсах, таких как значки сайтов или изображения, которые не являются частью вашего исходного кода. Он не может оценить риск или текущую репутацию доменов, контролируемых злоумышленниками, которые появляются только во время выполнения, а обнаружение аномальных сетевых запросов на стороне браузера во время оформления заказа также выходит за рамки его возможностей.
Вклад статического анализа (хотя и не в качестве основного средства контроля) может заключаться в случаях, когда ваш собственный код содержит логику динамического внедрения скриптов, что инструмент анализа кода может пометить как рискованное. А если собственный код жестко закодирует подозрительные конечные точки для утечки данных или использует небезопасную логику сбора данных, статический анализ может выделить эти потоки для проверки.

В сценарии Magecart наиболее важны четыре верхние строки, и Claude Code Security не имеет доступа к информации о них во время выполнения.
Два нижних примера представляют собой принципиально иную угрозу: разработчик случайно пишет вредоносный код в собственном репозитории.
Magecart is One Vector, Not the Whole Attack Surface
The favicon steganography technique above is sophisticated, but it's one instance of a broader pattern. Web supply chain attacks arrive through several distinct mechanisms, each with the same defining characteristic: the malicious activity happens at runtime, in the browser, through assets the merchant didn't create. See how AI-generated, polymorphic JavaScript is raising the stakes →
A few others worth naming:
Внедрение вредоносного iframe. Взломанный сторонний виджет незаметно накладывает на легитимную форму оформления заказа iframe, управляемый злоумышленником. Пользователь видит реальную страницу, но его нажатия клавиш отправляются злоумышленнику. При этом в репозитории продавца ничего не меняется.
Злоупотребление пикселями отслеживания. Аналитические и рекламные пиксели — почти повсеместно используемые на сайтах электронной коммерции — загружаются с внешних CDN. Когда эти CDN скомпрометированы или взломан сам поставщик пикселей, код отслеживания, работающий на каждой странице, становится каналом утечки данных. Код продавца по-прежнему обращается к той же самой, на первый взгляд, легитимной конечной точке, что и всегда.
Сбор учетных данных на основе DOM. Скрипт, загружаемый через менеджер тегов, незаметно отслеживает события полей формы на страницах входа или оплаты, перехватывая данные до их отправки. Атака полностью сосредоточена в обработчике событий, зарегистрированном во время выполнения, а не в чем-либо, что мог бы увидеть статический сканер.
Каждый из этих случаев следует той же логике, что и в случае с Magecart: угроза находится вне репозитория, выполняется в контексте, который статический анализ не может обнаружить, и нацелена на разрыв между тем, что вы выпустили, и тем, что фактически работает в браузерах ваших пользователей. Полное описание того, как каждый вектор соответствует охвату инструментов — и как выглядит многоуровневая программа защиты по всем этим векторам — вы найдете в руководстве, ссылка на которое приведена ниже.
Почему мониторинг во время выполнения критически важен (но не является единственным средством контроля)
Для угроз веб-цепочке поставок, подобных этой кампании Magecart, непрерывный мониторинг того, что фактически выполняется в браузерах пользователей, является основным уровнем, обеспечивающим прямую видимость атаки в момент её совершения. Платформы мониторинга выполнения на стороне клиента отвечают на несколько вопросов, на которые не могут ответить статические инструменты: «Какой код выполняется в браузерах моих пользователей прямо сейчас и что он делает?»
В то же время, мониторинг во время выполнения — это лишь часть картины. Он наиболее эффективен в рамках стратегии многоуровневой защиты. Статический анализ и управление цепочкой поставок уменьшают поверхность атаки, а мониторинг во время выполнения выявляет то, что ускользает от внимания, и то, что находится полностью за пределами ваших репозиториев.
Переосмысление понятия «тест»: категория, а не возможность.
Оценка эффективности репозиторий-ориентированного инструмента, такого как Claude Code Security, в контексте атак во время выполнения — это ошибка категории, а не недостаток продукта. Это как ожидать, что дымовой извещатель потушит пожар. Это неподходящий инструмент для этой задачи, но идеальный для того, для чего он был разработан. Для пожаробезопасного здания нужны дымовые извещатели и огнетушители, а для безопасного веб-сайта — Claude Code Security и мониторинг во время выполнения в вашей системе. Для Magecart и подобных атак с использованием скимминга на стороне клиента необходимо окно мониторинга во время выполнения в браузере. Статическое сканирование репозиториев само по себе просто не показывает, где на самом деле происходят эти атаки.
Если вы на уровне директора по информационной безопасности сопоставляете инструменты с классами угроз, мы подготовили краткое руководство о том, как безопасность кода и мониторинг во время выполнения взаимодействуют во всем спектре векторов веб-цепочки поставок — и где каждый из них перестает быть полезным.

