ASI04: Agentic Supply Chain Vulnerabilities (Уязвимости агентной цепочки поставок)
Описание
Agentic Supply Chain Vulnerabilities возникают, когда агенты, инструменты и связанные артефакты, с которыми они работают, предоставляются третьими лицами и могут быть вредоносными, скомпрометированными или подделанными в пути. Это могут быть статические и динамические sourced компоненты, включая модели и веса моделей, инструменты, плагины, наборы данных, другие агенты, агентные интерфейсы — MCP (Model Context Protocol), A2A (Agent2Agent) — агентные реестры и связанные артефакты, или каналы обновлений. Эти зависимости могут вводить небезопасный код, скрытые инструкции или обманчивое поведение в цепочку выполнения агента.
Target supply chain described in depth in LLM03:2025 Supply Chain Vulnerabilities. Однако его фокус на статических зависимостях. В отличие от традиционных цепочек поставок ИИ или ПО, агентные экосистемы часто composent возможности во время выполнения — загружая внешние инструменты, динамические персоны агентов — тем самым увеличивая поверхность атаки. Это распределённое координирование во время выполнения, в сочетании с агентной автономностью, создаёт живую цепочку поставок, которая может каскадировать уязвимости между агентами. Эти сдвиги фокусируются от манифеста к безопасности во время выполнения различных и часто непрозрачных компонентов. Решение этой проблемы требует тщательных инструментов разработки и оркестрации во время выполнения, где компоненты динамически загружаются, делятся и доверяются.
Запись соответствует T17 Supply Chain Compromise в Agentic Threats and Mitigations и через T2 Tool Misuse, T11 Unexpected RCE and Code Attacks, T12 Agent Communication Poisoning, T13 Rogue Agent и T16 Insecure Inter-Agent Protocol Abuse.
Общие примеры уязвимости
- Отравлённые шаблоны подсказок, загружаемые удалённо: агент автоматически подтягивает шаблоны подсказок из внешнего источника, содержащие скрытые инструкции (например, для экспорта данных или выполнения деструктивных действий), что заставляет его выполнять вредоносное поведение без намерения разработчика.
- Инъекция дескриптора инструмента: злоумышленник встраивает скрытые инструкции или вредоносные полезные нагрузки в метаданные или MCP/agent-карту инструмента, которые хост-агент интерпретирует как доверенное руководство и действует в соответствии с ними.
- Имитация и опечатки (typosquatting): когда агент динамически обнаруживает или подключается к внешним инструментам или сервисам, его можно обмануть двумя способами: опечатанная конечная точка (имя-дубликат, выбранное, чтобы обмануть разрешение) или символьная атака, где вредоносный сервис преднамеренно имитирует легитимный инструмент или агент, копируя его идентичность, API и поведение, чтобы получить доверие и выполнить вредоносные действия.
- Уязвимый сторонний агент (Agent→Agent): сторонний агент с неисправленными уязвимостями или небезопасными настройками по умолчанию приглашается в много-агентные рабочие процессы. Компрометированный или баговый 동료-агент может быть использован для пивотирования, утечки данных или релегирования вредоносных инструкций иным доверенным агентам.
- Скомпрометированный сервер MCP / реестра: вредоносный или скомпрометированный сервер управления агентами / сервер MCP (или пакетный реестр) обслуживает подписанные манифесты, плагины или дескрипторы агентов. Поскольку системы оркестрации доверяют реестру, это позволяет широкое воздействие на поддельные компоненты и инъекцию дескрипторов в масштабе.
- Отравлённый плагин знаний: популярный плагин RAG получает контекст от стороннего индексатора, засеянного сcreated записями. Агент gradualmente смещается, потребляя эти данные, и экспортирует конфиденциальные данные во время нормального использования.
Примеры сценариев атак
- Amazon Q Supply Chain Compromise: отравлённая подсказка в репозитории Q for VS Code поставляется в v1.84.0 тысячам пользователей до обнаружения; несмотря на провал, это показывает, как вышестоящее вмешательство в агентную логику каскадирует через расширения и усиливает воздействие.
- MCP Tool Descriptor Poisoning: исследователь показывает инъекцию подсказки в GitHub's MCP, где вредоносный публичный инструмент скрывает команды в своих метаданных; при вызове ассистент экспортирует приватные данные репозитория без ведома пользователя.
- Malicious MCP Server Impersonating Postmark: зарегистрирован как первый дикий вредоносный сервер MCP на npm, он имитировал postmark-mcp и тайно BCC'ил электронные письма злоумышленнику.
- AgentSmith Prompt-Hub Proxy Attack: проксирование подсказки экспортирует данные и перехватывает потоки ответов, манипулируя динамической оркестрацией в агентных системах.
- Скомпрометированный пакет NPM (например, отравленный выпуск nx/debug): автоматически устанавливается кодирующими агентами, позволяя скрытому бэкдору экспортировать ключи SSH и токены API и тем самым распространять компрометацию цепочки поставок через агентные рабочие процессы.
- Agent-in-the-Middle via Agent Cards: скомпрометированный или роу агент рекламирует преувеличенные возможности в своей agent-карте (например, /.well-known/agent.json); хост-агенты выбирают его для задач, вызывая чувствительные запросы и данные для маршрутизации через агент, контролируемый злоумышленником, который затем экспортирует или коррубирует ответы.
Рекомендации по предотвращению и смягчению
- Происхождение и SBOMs, AIBOMs. Подписывайте и аттестуйте манифесты, подсказки и определения инструментов; требуйте и внедряйте SBOMs, AIBOMs с периодическими аттестациями; поддерживайте инвентарь компонентов ИИ; используйтеキュрируемые реестры и блокируйте недоверенные источники.
- Контроль зависимостей (Dependency gatekeeping). Применяйте whitelist и pinning; сканируйте на опечатки (PyPI, npm, LangChain, LlamaIndex); проверяйте происхождение перед установкой или активацией; автоматически отклоняйте неподписанные или непроверенные.
- Содержание и сборки (Containment and builds). Запускайте конфиденциальных агентов в изолированных контейнерах с жесткими лимитами сети или системных вызовов; требуйте воспроизводимые сборки.
- Безопасные подсказки и память. Поместите подсказки, скрипты оркестрации и схемы памяти под управление версиями с ревью коллег; сканируйте на аномалии.
- Безопасность меж-агентного взаимодействия. Применяйте взаимную аутентификацию и аттестацию через PKI и mTLS; без открытой регистрации; подписывайте и проверяйте все меж-агентные сообщения.
- Непрерывная валидация и мониторинг. Повторно проверяйте подписи, хеши и SBOMs (включая AIBOMs) во время выполнения; мониторьте поведение, использование привилегий, линейность и межмодульную телеметрию на аномалии.
- Фиксация версий (Pinning). Фиксируйте подсказки, инструменты и конфигурации по хешу контента и коммиту ID. Требуйте поэтапный запуск с дифференциальными тестами и автоматическим откатом при дрейфе хеша или изменении поведения.
- Кнопка аварийного отключения цепочки поставок (Supply chain kill switch). Реализуйте механизмы экстренной отмены, которые могут мгновенно отключить конкретные инструменты, подсказки или соединения агентов во всех развёртываниях при обнаружении компрометации, предотвращая дальнейший каскадирующий ущерб.
- Модель безопасности Zero Trust в дизайне приложения. Проектируйте систему с устойчивостью к сбоям, предполагая неисправность или эксплуатацию компонентов LLM или агентных функций.
Ссылки
- https://www.bleepingcomputer.com/news/security/amazon-ai-coding-agent-hacked-to-inject-data-wiping-commands/
- https://invariantlabs.ai/blog/mcp-github-vulnerability
- Reconstructing a timeline for Amazon Q prompt infection.
- https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/agent-in-the-middle-abusing-agent-cards-in-the-agent-2-agent-protocol-to-win-all-the-tasks/
- How an AI Agent Vulnerability in LangSmith Could Lead to Stolen API Keys and Hijacked LLM Responses - Noma Security.
genai.owasp.org