В статье, опубликованной 3 сентября, описывается атака на цепочку поставок против AI coding agents, которая не меняет ничего, что увидел бы обычный аудит. Она изменяет только конфигурацию lifecycle-hook плагина, причём при обновлении — уже после того, как плагин был проверен и установлен.

Что тестировали

Авторы оценивают десять целей атаки в 25 комбинациях harnesses и backends в 1 000 end-to-end запусках. Результат: техника «компрометирует все семь оценённых harnesses, при этом показатели успешности по отдельным harnesses достигают 92,5%». Framework выпущен в open source под названием HookPry.

Показатели обнаружения — ключевая часть

Microsoft Defender имеет 0% recall против неё, а «объединение трёх статических защит пропускает 47,5% вредоносных артефактов». То, что один из названных продуктов endpoint security пропускает всё, — это показатель, важный для всех, кто запускает agent-плагины на машинах разработчиков, потому что lifecycle hooks выполняют shell-команды с привилегиями хоста по событиям, которые модель никогда не видит. Ничто в обучении модели безопасности или в пользовательских запросах на подтверждение не находится в этой цепочке.

Почему новизна именно в пути обновления

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

Что в этой формулировке упущено

К заголовку относятся три оговорки. 92,5% — это потолок среди harnesses, а не общий показатель — успешность «достигает» этого уровня, поэтому медианный harness ниже, а среднее значение не приводится. Формулировка «компрометирует все семь harnesses» означает, что по каждому из них сработала как минимум одна из десяти целей; это покрытие, а не надёжность. И модель угроз уже, чем удалённая эксплуатация: атакующий должен уже контролировать метаданные плагина и конфигурацию hook'ов для плагина, который жертва установила и обновляет. Это реальная позиция в цепочке поставок, но такую позицию сначала ещё нужно занять. Семь harnesses в abstract не названы, ни один вендор пока не ответил, и патча, который можно было бы применить, здесь нет.