Основные ключевые моменты:
Курсорные IDE одна за другой выходят на рынок в 2025 годуШесть категорий инцидентов безопасностиЭто руководство основано на реальном инциденте с участием 3200 с лишним разработчиков и миллионными экономическими потерями. На основе реальных инцидентов в данном руководстве разработаны решения по защите на уровне предприятия, которые помогут организациям построить систему ”глубокой обороны”.
центр(Рекомендация):
- ❌ запрещённый предмет: Приватный ключ API, неофициальный источник расширений, автоматическая загрузка MCP
- ✅ обязательный пункт:Режим конфиденциальностиВключение, утверждение MCP Zero Trust, сканирование зависимостей, мониторинг журналов
- 🔄 периодический срок:: 30-дневный аудит конфигурации, 90-дневная ротация ключей, ежеквартальная углубленная оценка
I. Введение в Cursor IDE
1.1 Основные понятия
Курсорэто интегрированная среда разработки (IDE) на базе Visual Studio Code, основанная на искусственном интеллекте и предназначенная для современных рабочих процессов разработки. Благодаря интеграции Большой языковой модели (LLM) Cursor обеспечивает генерацию кода, интеллектуальное завершение, автоисправление и другие функции, позволяющие значительно повысить эффективность разработки.
Ключевые особенности:
- Генерация и заполнение кода ИИ (поддерживаются OpenAI, Anthropic, Google Vertex и т. д.)
- Интеграция протокола Model Context Protocol (MCP) для подключения внешних инструментов и источников данных
- Режим конфиденциальности(режим конфиденциальности), обеспечивая нулевую сохранность кода
- Корпоративный SSO и управление коллективом (Cursor Business)
- Конфигурация агента на основе правил (.cursorrules)
1.2 Состояние рынка
Скорость принятия: Используется более чем 50 000 организаций, включая более 250 компаний из списка Fortune 500.
База разработчиков: Миллионы ежедневных пользователей разработчиков по всему миру
Эволюция версии:
- v1.0-v1.2: первоначальная версия с несколькими серьезными уязвимостями в системе безопасности.
- v1.3+: Критический выпуск исправлений, исправляет CVE-2025-54135, CVE-2025-54136, CVE-2025-59944
1.3 Архитектурные особенности
Ключевая архитектура:
- Курсор локальной IDE → Конфигурация MCP → Подключения внешних инструментов → LLM Reasoning → Предложение кода и автоматическое выполнение
Ключевые риски архитектуры:
Агенты искусственного интеллекта обладают привилегиями уровня разработчика для доступа к файловой системе, выполнения системных команд и изменения конфигурационных файлов, что делает их ценными объектами атак.
II. Анатомия инцидента безопасности в 2025 году и извлеченные уроки
2.1 Обзор шести событий и эволюционных путей
Временная шкала и взаимосвязь:
Важные выводы:
▸ Три CVE указывают на основные недостатки в механизме MCP (на долю которых приходится 50%)
▸ Расширение и опора на цепочку поставок - главные прорывы (из 33%)
▸ Эволюция модели экономических потерь: утечка данных → кража активов → исчерпание затрат
2.2 Событие 1: MCP Configuration Persistence RCE - CVE-2025-54136 (MCPoison)
блок обнаружения: Check Point Research
серьезность: CVSS 7.2 (высокий)
версия для реставрации: Курсор 1.3+
схема атаки:
Из приведенной выше панорамы цепочки атак MCPoison следует, что уязвимость CVE-2025-54136 использует недостаток в механизме доверия MCP в IDE Cursor. Злоумышленник сначала отправляет, казалось бы, легитимную конфигурацию MCP на однократное одобрение разработчика, а затем спустя несколько дней или недель изменяет конфигурацию, чтобы отменить команду shell. Ключевая проблема заключается в том, что Cursor не утверждает изменения конфигурации повторно, а загружает и выполняет их автоматически, предоставляя злоумышленнику постоянный, скрытый доступ.
восстановление: Повторное утверждение автоматически запускается при изменении конфигурации после Cursor 1.3
2.3 Событие 2: MCP Prompt Injection RCE - CVE-2025-54135 (CurXecute)
блок обнаружения: Aim Labs, Backslash Security, HiddenLayer
серьезность: CVSS 8.6 (критический)
версия для реставрации: Курсор 1.3+
Технические детали:
Направление атаки: не изменять конфигурацию MCP, а использовать MCP для возврата вредоносных данных
CVE-2025-54135 эксплуатирует недостаток конструкции ”автономного выполнения” в режиме Cursor Agent Mode. Злоумышленники развертывали, казалось бы, легитимные MCP-сервисы (например, интеграции Slack, API-прокси GitHub), прятали команды в возвращаемых данных и побуждали Cursor Agent автоматически изменять конфигурацию MCP на вредоносный скрипт. Поскольку агент запускается по умолчанию без повторного подтверждения, хакер может создать постоянный бэкдор RCE без ведома разработчика.
2.4 Событие 3: обход регистра имен файлов - CVE-2025-59944
блок обнаружения: Лакера
серьезность: Высокий
версия для реставрации: Курсор 1.7+
Принципы уязвимости:
Правила защиты курсора (с учетом регистра):
защищенные_файлы = [
“.cursor/mcp.json”.,
“.vscode/tasks.json”.,
...
]
if (path in protected_files) {
show_approval_prompt() // покажите диалог одобрения
}
Проблема: файловая система Windows/macOS не чувствительна к регистру
CVE-2025-59944 Обход регистра имен файлов Эта уязвимость раскрывает распространенное заблуждение о Cursor: предположение, что все операционные системы чувствительны к регистру. Злоумышленник создает .cUrSoR/mcp.json (смешанный регистр), который в Windows и macOS автоматически разбирается ОС как .cursor/ - полностью обходя проверки защиты Cursor. Защита Cursor от .cursorignore защищает только от точного нижнего регистра .cursor/, что приводит к тихой загрузке вредоносных конфигураций.
Затронутые платформы:
- macOS: HFS+ (без учета регистра)
- Окна: NTFS (без учета регистра)
- Linux: ext4 (с учетом регистра ✗ не влияет)
2.5 Инцидент 4: Вредоносная расширенная цепочка поставок - кража криптовалюты $500K
раз:: Июль 2025 г.
источник (информации и т.д.): Открытый реестр VSX (неофициальный)
загрузки: 50 000+ раз
ущерб:: ~$500,000 USD
Деловое исследование:
Этот инцидент демонстрирует самый большой риск на рынке инструментов разработки. Злоумышленники разместили поддельное расширение ”Solidity Language Support” (50 000+ загрузок) на VS Code Marketplace, обманом заставив разработчиков установить его. После активации расширения скрытый сценарий PowerShell загружает бэкдор ScreenConnect и устанавливает удаленный доступ. Затем запускаются программы Quasar RAT (Remote Access Trojan) и Stealer для автоматического сканирования криптобаз браузеров, почтовых клиентов и криптовалютных кошельков. В итоге злоумышленник получает начальную фразу кошелька и переводит все криптоактивы. Весь процесс от установки до полной компрометации занял всего 1 час, а ущерб составил $500K+.
Почему это работает.:
- ✗ Открытый реестр VSX не заставляет проверять расширенную подпись
- ✗ Курсор по умолчанию не проверяет источники расширений (extensions.verifySignature = false)
- ✗ Реестр доверия разработчиков (выглядит официально)
- ✗ Код скрыт в продукте компиляции
2.6 Инцидент 5: цепочка поставок пакетов npm - 3200+ утечек кода разработчиков
раз: май 2025 г.
вредоносный пакет:sw-cur, sw-cur1, aiide-cur
загрузки: Устойчивый рост (до обнаружения)
несчастный случай:: 3200+ разработчиков
Анализ социальной инженерии:
Это самая тревожная атака на цепочки поставок 2025 года. Пользуясь менталитетом разработчиков, ориентированных на оптимизацию затрат, злоумышленник публикует sw-cur (”самую дешевую обертку для API Cursor”) в npm, представляясь законным решением по ограничению затрат на API. Однако, когда разработчики выполняют require(‘sw-cur’), скрытая полезная нагрузка молча крадет конфиденциальную информацию, такую как .env, приватные ключи SSH, учетные данные AWS, историю bash, и устанавливает кейлоггеры. После того как зараженный разработчик коммитит код, все последующие разработчики, которые клонируют репозиторий и запускают npm install, также заражаются. Менее чем за 24 часа злоумышленник получает полные учетные данные 3200+ разработчиков, а затем взламывает корпоративную сеть, крадет весь исходный код и даже внедряет вредоносный код в продукт заказчика, чтобы добиться заражения цепочки поставок.
2.7 Инцидент 6: Атака на истощение бюджета
раз:: Декабрь 2025 г.
механизм: OX Security (исследовательская группа)
Откройте для себя предысторию: Разработчик случайно сжег месячный бюджет, что вызвало расследование
Deep Link Attack - Cursor Budget Explosion Complete Link - самая экономически разрушительная атака Cursor в 2025 году.
Злоумышленники строят вредоносные глубокие цепочки:
cursor://deeplink?action=setUsageLimit&value=1000000
cursor://deeplink?action=startInfiniteRequests&model=gpt4
Поделитесь им с пользователем по электронной почте или в Slack. Когда пользователь нажимает на нее, автоматически открывается приложение Cursor и молча выполняет ряд действий: вводит параметры, открывает палитру команд, переходит на страницу биллинга и изменяет месячный лимит бюджета на $1 000 000. Главный недостаток заключается в том, что эти действия не требуют ни проверки, ни одобрения администратора. Впоследствии вторая глубокая цепочка запускает бесконечный цикл запросов, потребляя миллионы токенов и взимая $1M+ платы за API всего за 5 минут. Корпоративные учетные записи были немедленно заблокированы, что привело к перебоям в обслуживании, финансовым проверкам и возможному расследованию утечки данных.
Результаты:
- Миллионы жетонов расходуются в одно мгновение.
- Затраты выросли до $1M+.
- Корпоративные счета заблокированы
III. Руководство по конфигурированию системы безопасности предприятия
3.1 Уровень защиты данных - режим и правила конфиденциальности
Курсор основан на разработке VSCODE, пользователь может использовать агент, запрос, режим редактирования для вспомогательной разработки в процессе разработки.
Спецификация и конфигурация системы безопасности
Должны] соблюдать нормы безопасности, запретить передачу кода высокого третьего класса, предприятия должны разработать классификацию и градацию хранилищ кода, такие как высокий, средний и низкий, утечка кода может привести к тяжелым потерям компании предложение запретить использование Cursor, только средний и низкий риск использования хранилища кода, не даст компании бизнес, алгоритмы, секретные ключи и другие основные критические инфраструктуры с существенным риском.
[Должно быть] Вручную включите “Режим конфиденциальности”.”
Элемент конфигурации:
Путь к настройкам: Настройки → Функции → Режим конфиденциальности
Статус: ✓ Включено (все разработчики)
Проверьте командную строку:
# Проверка конфигурации режима конфиденциальности в файле settings.json
cat ~/.cursor/settings.json | grep -i privacy
# Ожидаемая производительность
“privacy.mode”: true
Покрытие режима конфиденциальности:
✓ Данные кода: нулевое постоянное хранение на сервере курсора
✓ Обучение модели: больше не используется для обучения модели
✓ Векторное встраивание: только временное хранение в памяти (удаляется после завершения запроса)
✓ Ведение журнала: отказ от всех функций ведения журнала
Взаимодействие индексирования базы данных с режимом конфиденциальности:
Компромисс между стоимостью и производительностью:
Производительность может снизиться, если включен режим конфиденциальности 5-10%(потому что нельзя использовать предварительно вычисленное встраивание кэша)
Советы корпоративного уровня:
- Чувствительность данных ≥ INTERNAL: Режим конфиденциальности включен
- Код содержит данные клиента/PII: должен быть разрешен
- Финансовый/медицинский/государственный сектор: должны обеспечить возможность + использовать модели саморазвертывания
3.1.2 Конфигурация индексирования кодовой базы и оценка рисков
[Требуется] Определите файлы/каталоги, которые запрещено читать и индексировать с помощью AI.Следуя собственному курсору“игнорировать файл”Механизм, создающий в кодовой базе файл “.cursorignore” с тем же синтаксисом, что и .gitignore, и внутренне определяющий файлы или каталоги кода, которые не могут быть использованы индексом AI.
⚠️ Примечание: [перед импортом каталога кода в Cursor необходимо создать файл .cursorignore и определить файлы, доступ к которым запрещен].
.Пример .cursorignore показан ниже:
После создания и записи файла .cursorignore каталог кода импортируется в cursor
Файлы, попавшие в .cursorignore, не выбираются в контекстных ссылках AI
Матрица из трех программных конфигураций на уровне предприятия:
| норма | Конфигурация 1: нулевое доверие | Конфигурация 2: сбалансированная (рекомендуется) | Конфигурация 3: Высокая производительность (нечувствительная) |
|---|---|---|---|
| Указатель кодовой базы | ❌ OFF | ✅ ON | ✅ ON |
| Режим конфиденциальности | ✅ ON (обязательно) | ✅ ON (обязательно) | ⚠️ OFF (требуется одобрение) |
| Исключение чувствительных документов | исключить все | .Конфигурация .cursorignore | Без специальной конфигурации |
| семантический поиск | ❌ Нет в наличии | ✅ Ограниченная доступность* | ✅ Полная доступность |
| Качество завершения кода | 🟡 Средний | 🟢 Высокий | 🟢 Лучшее |
| Влияние на производительность | ↓↓ 20-30% | ↓ 5-10% | ↑ Оптимальный |
| конфиденциальность данных | 🟢 Высочайший | 🟢 Высокий | 🟠 Средний |
| риск соответствия | ✅ Принятие GDPR/SOC2 | ✅ Принятие GDPR/SOC2 | ⚠️ Требуется оценка рисков |
| (производство, изготовление и т.д.) затраты | Минимальный (без турбобура) | умеренный | Высокая (хранение турбопаффера)**. |
| Применимые отрасли | Финансы, здравоохранение, правительство | Общие корпоративные приложения | Прототипы с открытым исходным кодом, нечувствительные к внешним воздействиям |
| опыт пользователей | инфраструктура | благоприятный | замечательный |
| Управление сложностью | опускать (голову) | умеренный | ваш (почетный) |
* Если включен режим конфиденциальности, индекс содержит только структуру кода, а не полный исходный код.
3.1.3 Изоляция конфиденциальных файлов с помощью .cursorignore
[Обязательно] Запрет на прямое использование внешних файлов правил.
1. функция правил курсора
https://docs.cursor.com/context/rules
Правила делятся на: пользовательские правила, правила проекта
| Установите правила для пользователей: попросите “Я не чатгпт”.”
Установите правила проекта: требуйте, чтобы выводилась надпись “I am deepseek”.” | Ответы будут даваться в соответствии с правилами ПРАВИЛ при общении в чате: |
Пример конфигурации # .cursorignore (помещается в корневой каталог проекта)
Настройка с помощью .cursorrules позволяет продолжить изучение ограничений безопасности приложения.
Ссылаться на:https://github.com/PatrickJS/awesome-cursorrules
Метод исключения курсора из файла
Ссылаться на:https://cursor.com/cn/docs/context/ignore-files#-1
Пример:
.проклятие
config.json # Специфический файл
Каталог dist/ #
*.log # Расширение файла
**/logs # Вложенные каталоги
!app/ # Исключить из игнора (отрицать)
Проверка конфигурации
Настройки курсора → Индексирование базы данных → Исключенные шаблоны
3.2 Доверительное управление MCP - Архитектура нулевого доверия
3.2.1 Система управления МКП (ключ)
MCP Zero Trust GovernanceКритерии:
Основные принципы:
По умолчанию Deny: По умолчанию все MCP-серверы запрещены.
Явное одобрение: должно быть явно одобрено в каждом конкретном случае
Регулярный обзор: периодический обзор и ротация
Неизменяемый аудит: журналы аудита не могут быть подделаны
Четырехслойная система защиты:
3.2.2 Управление профилем MCP
Пример: предприятие .cursor/rules/mcp.json
{
“Версия”: “1.0”,
“mcpServers”: {
“github-api”: {
“command”: “/opt/mcp-servers/github-wrapper.sh”,
“args”: [“-token”, “${GITHUB_TOKEN}”],
“env”: {
“ALLOWED_REPOS”: “org/repo1,org/repo2”,
“MAX_API_CALLS”: “100”
},
“sandboxConfig”: {
“сеть”: {
“allowedDomains”: [“api.github.com”, “github.com”],
“maxBandwidth”: “5Mbps”.”
},
“filesystem”: {
“readOnly”: [“/app/config”],
“temporary”: [“/tmp”].
}
},
“approvalInfo”: {
“approvedBy”: “security@company.com”,
“approvalDate”: “2026-01-15T10:30:00Z”,
“approvalHash”: “sha256:abc123...”,
“expirationDate”: “2026-01-15T10:30:00Z”,
“reviewNotes”: “Используется для комментариев при автоматическом просмотре кода”.”
}
},
“custom-plugin”: {
“comment”: “❌ DEPRECATED - REMOVED BY 2026-02-01”.,
“Команда”: “/opt/mcp/deprecated.sh”,
“sandboxConfig”: { “disabled”: true }
}
},
“trustSettings”: {
“requireReapprovalOnConfigChange”: true,
“reapprovalIntervalDays”: 90,
“auditLogPath”: “/var/log/cursor-mcp-audit.json”
}
}
IV. Контрольный список и лучшие практики внедрения на предприятиях
4.1 Контрольный список для внедрения на предприятии
Курсор_Безопасность_Садоводство_Мастер_Контрольный список
Результат: Снижение риска известных атак Cursor IDE для 95%+
4.2 Свод правил для разработчиков
Руководство разработчика по безопасному использованию курсора
## Должен знать (5)
✅ Режим конфиденциальности должен быть включен Настройки → Режим конфиденциальности → Включено
✅ MCP могут использовать только утвержденные спискиПроверьте внутреннюю Вики. Хотите использовать новый MCP?
✅ Расширения устанавливаются только из официального магазина VS Code Marketplace Запрещено использовать Open VSX или другие источники, нашли полезные расширения в Open VSX? Обратная связь с командой безопасности
✅ Не указывайте ключ в коде или в подсказке.Используйте переменную окружения: process.env.API_KEY Не используйте жесткий код: sk_live_1234567890abcdef (❌ ошибка).
✅ Периодически проверяйте, действителен ли .cursorignore или нет.
Проверка: настройки курсора → Индексирование базы данных → Игнорируемые шаблоны
Должен содержать все конфиденциальные файлы (.env, *.pem, пароли и т.д.).
Безопасность курсора - это не только техническая проблема, но иОрганизационная культура и процессыПроявление этого. Компаниям рекомендуется оценить свой текущий уровень зрелости на основе SAMM (Software Assurance Maturity Model) и разработать план постепенного усиления. Стремясь к эффективности разработки, следуетБезопасность всегда стоит на первом месте..
V. Ссылки
[1] (2026). Обеспечение безопасности исходного кода и среды разработчика. https://cursor.com/security
[2] (2025). Режим конфиденциальности: нулевое хранение данных. https://cursor.com/docs/privacy-mode
[3] (2025). Корпоративный SSO и управление командой. https://cursor.com/teams
[4] (2025).Cursor Windsurf Google Antigravity Supply Chain Attack Analysis. https://www.cncso.com/ai-ide-cursor-windsurf-google-antigravity-report.html
Оригинальная статья написана Chief Security Officer, при воспроизведении просьба указывать: https://www.cncso.com/ru/cursor-ide-secure-development-guide.html.









