Всем привет!
Ёмкая статья от Checkmarx, посвященная тому, как можно выполнять произвольный код на рабочей станции жертвы через воздействие на конфигурационные MCP-файлы.
Эти файлы содержат информацию о возможных для использования MCP-серверах: наименование, выполняемая команда, аргументы, переменные окружения и т.д.
Сама атака состоит в том, чтобы подменить «выполняемую команду» на ту, что нужна атакующему и с большой вероятностью она выполнится.
Из плохого – запуск в большинстве случаев может произойти автоматически, без запроса подтверждения пользователем. В некоторых сценариях даже Human-In-The-Loop (HITL) можно обойти.
Из хорошего – реализовать это может быть не так просто, т.к. потребует некоторого доступа к данным проекта.
В качестве примера реализации Автор приводит Snyk,
snyk-agent-scan которых как раз мог «реализовать» MCP Configuration Poisoning(кстати, Snyk сперва не согласился с тем, что это недостаток ☺️).Подобное трудно найти с использованием сканеров. «Ограничивать» команды тоже не всегда представляется возможным.
Поэтому в качестве рекомендации Автор предлагает использование «песочниц», мониторинг и контроль выполняемых программ и подтверждение действий пользователем.