Если вы используете Claude Code, Cursor или любой другой агент, который запускает команды оболочки на вашем компьютере, вы Вот в чем дело: большинство этих списков разрешений просто проверяют, начинается ли команда с безопасного git, npm, ls — все, что начинается с них, получает...
Если вы используете Claude Code, Cursor или любой другой агент, который запускает команды оболочки на вашем компьютере, вы
вероятно, видел «белый список» — список команд, которые агенту разрешено выполнять без вашего ведома.
Вот в чем дело: большинство этих списков разрешений просто проверяют, начинается ли команда с безопасного
слово. git, npm, ls — все, что начинается с них, проходит проверку.
Именно это и использовал CVE-2026-22708 в Cursor. Вы можете пронести полезную нагрузку внутрь
разрешенную команду, такую как git Branch, и она будет выполняться, потому что проверка никогда не выходит за рамки
первый жетон.
Что я построил
Agent-exec-guard — MCP-сервер с открытым исходным кодом, который находится между агентом и вашей оболочкой.
Вместо сопоставления строк он полностью анализирует команду в настоящий AST и классифицирует ее:
БЕЗОПАСНО — соответствует проверенному правилу, запускается немедленно, без перерывов.
ЗАБЛОКИРОВАНО — соответствует известному опасному шаблону (доступ к секретам, широкое удаление, эксфильтрация,
подмена команды, пронесенная в аргумент), отказался сразу
НЕОПРЕДЕЛЕННО — все, что явно не попадает ни в одну из категорий, передается человеку,
кто должен явно одобрить его перед его запуском
На этапе утверждения я повторно использовал шаблон из своего более раннего проекта:
