Материал

Cursor, Copilot, Claude Code в закрытом репозитории: не «безопасно» или «нет», а как правильно настроить

Опубликовано: 02.05.2026 · Обновлено: 02.05.2026 · Время чтения: 15 мин

Decision framework для команд, которые уже используют AI-инструменты и хотят понять реальный периметр риска

Почему вопрос стоит именно так

Разработчики уже используют AI-инструменты. По данным Stack Overflow Developer Survey, 84% разработчиков применяют или планируют применять AI в рабочих процессах [1]. Согласно опросу IBM Institute for Business Value, только 24% генеративных AI-проектов имеют компонент, который их реально защищает — хотя 82% руководителей считают безопасный AI критически важным [2].

Это означает: в большинстве команд инструменты уже работают, а governance отстаёт.

При этом вопрос «можно ли использовать Cursor/Copilot/Claude Code в закрытом репозитории» — неправильно поставленный вопрос. Правильный звучит иначе: при каком наборе настроек, планов и ограничений конкретный инструмент приемлем для конкретного класса данных?

Что реально происходит с кодом при каждом запросе

Первое, что нужно понять: передача данных и их хранение — это разные события.

При любом обращении к AI-ассистенту фрагменты кода, открытые файлы и контекст отправляются на серверы поставщика модели. Это происходит всегда, когда инструмент делает AI-запрос — независимо от того, включён Privacy Mode или нет. Режим Privacy / ZDR влияет на то, сохраняются ли эти данные после обработки, но не на то, передаются ли они вообще [3].

Это принципиально важно для команд, которые работают в регулируемых отраслях или под NDA: даже «нулевое хранение» не означает, что код не покидал периметр компании.

Cursor: что даёт Privacy Mode и где его границы

Cursor предлагает два режима:

Privacy Mode — при включении включает технические контракты Zero Data Retention (ZDR) с провайдерами моделей, так что код не сохраняется и не используется для обучения [4]. Cursor может хранить часть данных для работы дополнительных функций, но не обучает модели на коде пользователей. Privacy Mode включён по умолчанию для членов team-аккаунта.

Privacy Mode (Legacy) — более строгий вариант: нулевое хранение гарантировано и со стороны Cursor, и со стороны провайдеров. Подходит для максимально чувствительных сценариев.

Без Privacy Mode — Cursor может сохранять codebase data, промпты, editor actions и использовать их для улучшения модели; данные могут передаваться провайдерам при явном выборе их моделей [4].

Важный нюанс: некоторые inference-провайдеры Cursor (Baseten, Together AI, Fireworks) временно хранят входные и выходные данные для оптимизации производительности; эти данные удаляются после использования [4]. При бесплатных и Pro планах код может храниться у провайдеров до 30 дней [5].

Cursor имеет SOC 2 Type II сертификацию [6]. При индексации кодовой базы Cursor загружает её фрагментами для вычисления эмбеддингов; plaintext-код уничтожается после завершения запроса [4].

MCP и аgentic-режим — отдельная история. Исследование IDEsaster задокументировало 30+ уязвимостей в популярных AI-IDE в 2025 году [7]. CVE-2025-54135 (Cursor) показал, что вредоносные сообщения в Slack при обработке AI могут перезаписывать MCP-конфигурацию и выполнять произвольные команды с правами разработчика [8]. CVE-2025-54136 (MCPoison) позволял атакующему закоммитить безобидный MCP-конфиг, а затем тихо изменить его на бэкдор после approve со стороны команды [8].

GitHub Copilot: где план определяет всё

Здесь граница между планами максимально чёткая.

Copilot Business и Copilot Enterprise: данные взаимодействий не используются для обучения модели — это закреплено в соглашениях с организациями [9]. Промпты и предложения не сохраняются (для Business/Enterprise при обращении через IDE). Данные вовлечённости пользователей хранятся два года [10].

Free, Pro, Pro+: с апреля 2025 года GitHub начал использовать данные индивидуальных пользователей для обучения, если пользователь не отказался явно [9]. Промпты и предложения сохраняются 28 дней для этих планов при обращении через GitHub.com [10].

Это означает: если разработчик использует личный Pro-аккаунт на корпоративном репозитории без явного отказа — его код потенциально может попасть в обучающую выборку.

Content exclusions — правильный механизм для исключения чувствительных путей. Администраторы организации и репозитория могут настроить правила через GitHub Settings → Copilot → Content exclusion, указав пути вида /secrets/, *.env, **/migrations/. Правила уровня enterprise применяются ко всем пользователям, правила уровня организации — к тем, кто получил seat через эту организацию [11].

Важная оговорка: content exclusions не распространяются на Copilot CLI, cloud agent и Agent mode в IDE [11]. Это значит, что если команда использует agentic-режимы, исключения не работают как ожидается.

.copilotignore в VS Code работает не так, как ожидают. Исследования показывают, что если файл был открыт хотя бы раз в текущей сессии VS Code, Copilot использует его содержимое в предложениях, даже если он указан в .copilotignore [12]. Полагаться на этот файл как на защитный механизм — ошибка.

CVE-2025-53773 (GitHub Copilot) показал цепочку атаки: вредоносная issue в GitHub → summary через Copilot → перезапись .vscode/settings.json → включение auto-approval → выполнение произвольных команд. Microsoft исправил это в августе 2025, потребовав явного действия пользователя для включения auto-approval [7].

Claude Code: специфика агентного инструмента

Claude Code работает иначе: это agentic CLI-инструмент, который может читать файлы, выполнять команды в bash, взаимодействовать с внешними сервисами через MCP. Это расширяет поверхность атаки принципиально.

Данные и обучение:

Для Enterprise и API-планов Anthropic не использует данные для обучения по умолчанию [13]. API-логи с 15 сентября 2025 хранятся 7 дней (ранее — 30 дней) [14]. Enterprise API-клиенты могут оформить ZDR addendum — при этом данные удаляются сразу после прохождения автоматических abuse-проверок [14].

Для потребительских планов (Free/Pro/Max) с октября 2025 пользователи явно выбирают, разрешать ли использование данных для обучения. При разрешении данные могут храниться до 5 лет; при отказе — по стандартной политике (30 дней) [15].

Доступ к файлам — ключевой риск. Claude Code может читать .env, SSH-ключи и другие чувствительные файлы, если они не заблокированы явно через deny-правила в ~/.claude/settings.json [16]:

{
  "permissions": {
    "deny": [
      "Read(**/.env*)",
      "Read(**/secrets/**)",
      "Read(**/*.key)",
      "Read(**/*.pem)"
    ]
  }
}

Безопасность на уровне инфраструктуры: каждый облачный сеанс Claude Code выполняется в изолированной виртуальной машине; git push ограничен текущей рабочей веткой; все операции логируются [17]. Anthropic имеет SOC 2 Type II, ISO 27001:2022 и ISO/IEC 42001:2023 [18].

Decision Framework: семь измерений оценки

Вопрос «использовать или нет» заменяется на «при каких условиях». Вот структура для принятия решения.

Измерение 1: Approved Tools

Первый шаг — составить whitelist одобренных инструментов. Каждый инструмент должен соответствовать критериям:

  1. наличие корпоративного плана с явными privacy-гарантиями;
  2. SOC 2 Type II или эквивалент;
  3. возможность подписать DPA/BAA если требуется по регулированию;
  4. возможность отключить обучение на данных организации;
  5. наличие механизмов исключения чувствительных путей.

По этим критериям: Cursor Business с Privacy Mode, Copilot Business/Enterprise, Claude Code на Enterprise API — проходят базовую проверку. Free/Pro-планы тех же инструментов — требуют дополнительных ограничений или исключены для работы с конфиденциальным кодом.

Инструменты, не прошедшие проверку, не «запрещаются» директивно — это не работает. Создаётся shadow AI [19]. Вместо этого — понятная альтернатива для разработчиков, почему конкретный инструмент не одобрен и что использовать вместо него.

Измерение 2: Scope доступа

Каждый AI-инструмент должен иметь минимально необходимый доступ. Принцип наименьших привилегий применяется и к AI-агентам.

Для agentic-инструментов (Claude Code, Copilot agent mode, Cursor с MCP):

  • отдельная идентичность агента (не реквизиты разработчика);
  • права только на те репозитории и ветки, с которыми работает конкретная задача;
  • ограниченный доступ к production-окружениям;
  • явный список разрешённых shell-команд, остальное — по запросу [20].

Для IDE-ассистентов: настройка контекста так, чтобы в окне редактора не было открытых чувствительных файлов во время AI-запросов.

Измерение 3: Private Code и классификация

Не весь код одинаков по чувствительности. Разумная классификация:

Класс A (публичный / open source): можно работать с любым одобренным инструментом на любом плане.

Класс B (внутренний код без явной конфиденциальности): корпоративные планы с ZDR, content exclusions настроены.

Класс C (конфиденциальный бизнес-код, IP): только инструменты с ZDR и DPA, только через Enterprise API или on-premise решения; human review обязателен.

Класс D (регулируемые данные — PII, PHI, финансовые данные): строгий запрет на передачу в cloud AI без явных соглашений (BAA для HIPAA); рассмотреть on-premise или local модели.

Важно: код аутентификации, криптографии, системы управления секретами — всегда Класс C, независимо от того, является ли репозиторий публичным или внутренним.

Измерение 4: Retention

Чёткое понимание retention-политики каждого инструмента:

  • Cursor Business с Privacy Mode: ZDR у провайдеров моделей, Cursor может хранить часть данных для функций [4].
  • Copilot Business/Enterprise: промпты и предложения не сохраняются при обращении через IDE; user engagement — 2 года [10].
  • Claude Code на Enterprise API: API-логи 7 дней, ZDR addendum доступен для полного исключения хранения [14].
  • Consumer-планы всех инструментов: значительно более длинные периоды хранения, риск использования для обучения.

Retention ≠ безопасность при передаче. Даже при ZDR код передаётся на серверы для обработки. Это нужно учитывать при работе с требованиями data residency.

Измерение 5: Human Review

AI-инструменты ускоряют написание кода. Они не берут ответственность за его безопасность.

По данным GitGuardian, среди ~20 000 репозиториев с активным Copilot более 1 200 (6,4%) содержат как минимум одну утечку секрета — это на 40% выше, чем в среднем по публичным репозиториям [21]. Исследования показывают, что до 40% предложений AI-инструментов могут вносить потенциальные уязвимости — SQL-инъекции, некорректная обработка данных [22].

Это означает: human review — не опциональный этап вежливости, а обязательный gate.

Что требует обязательного human review при AI-генерации:

  1. любые изменения в authentication и authorization flows;
  2. работа с криптографией;
  3. изменения в конфигурации (особенно CI/CD, IAM, сетевые правила);
  4. миграции баз данных;
  5. внешние зависимости и их версии;
  6. MCP-конфигурационные файлы.

PR с AI-сгенерированными изменениями в этих зонах должны получать соответствующую метку и проходить review от сотрудника с достаточной экспертизой.

Именно здесь возникает практическая проблема: AI написал быстро, PR создан, в очереди на merge стоит несколько штук, и reviewer дочитывает diff только до середины. Риск приходит именно там — не в момент написания кода, а в момент merge. Инструменты вроде HighVibe работают как дополнительный слой контроля на этом этапе: анализируют конкретное изменение, новые зависимости и конфигурационные файлы до merge, объясняют риск кратко и предлагают следующий шаг вместо длинного security-отчёта.

Измерение 6: Approved Repos

Не каждый репозиторий должен быть открыт для AI-инструментов одинаково. Разумная политика:

  • основной монорепозиторий с продуктовым кодом — корпоративный план, ZDR, content exclusions настроены;
  • инфраструктурные репозитории (Terraform, Helm, Kubernetes) — Класс C, обязательный human review на изменения;
  • репозитории с интеграционными тестами — могут быть более открытыми, если не содержат реальных credentials;
  • репозитории подрядчиков и внешних контрибьюторов — отдельная политика, отдельные seat-ы Copilot.

Реестр approved репозиториев нужно поддерживать актуальным. При добавлении нового репозитория — явное решение о классификации.

Измерение 7: Sensitive Paths

Конкретный список путей, которые должны быть исключены из контекста AI-инструментов:

# Обязательно исключить
.env*
**/*.key
**/*.pem
**/*.p12
**/secrets/**
**/credentials/**
config/secrets.*
**/migration/**          # если содержат схемы с PII
**/.github/workflows/**  # CI/CD конфигурации (требуют особого внимания)

# Для Copilot — настроить через org-level content exclusion
# Для Cursor — через .cursorignore
# Для Claude Code — через deny-правила в ~/.claude/settings.json

Важно: исключение пути не означает, что разработчик не может открыть файл вручную в IDE. Content exclusions работают на уровне контекста AI, а не на уровне файловой системы.

Ошибки, которые команды делают чаще всего

Ошибка 1: Путать Privacy Mode с полной изоляцией. Privacy Mode контролирует хранение, но не передачу. При каждом запросе код покидает машину разработчика.

Ошибка 2: Полагаться на .copilotignore как на защитный механизм. В VS Code файл работает ненадёжно; используйте org-level content exclusions [12].

Ошибка 3: Разрешить agentic-режимы без дополнительных мер. Auto-run и Agent mode в Cursor, Copilot agent mode — значительно более широкий attack surface, чем inline completions. Отключить Auto-Run по умолчанию, требовать явного approve для команд [8].

Ошибка 4: Доверять MCP-конфигурационным файлам из репозитория без проверки. CVE-2025-54136 показал, что атакующий может закоммитить MCP-конфиг, дождаться approve, а потом изменить его на бэкдор [8]. Все изменения в MCP-конфигурациях требуют отдельного review.

Ошибка 5: Считать, что Enterprise-план = автоматическая безопасность. Enterprise-план создаёт правильные контрактные условия. Но он не защищает от утечки секретов через промпты, не блокирует prompt injection через open files и не заменяет human review.

Ошибка 6: Не учитывать транзитивный контекст. Copilot и Cursor могут использовать содержимое открытых вкладок как контекст — даже если конкретный файл не является предметом запроса. Открытый .env-файл в соседней вкладке может попасть в контекст.

Ошибка 7: Игнорировать shadow AI. По данным опроса ISACA, при первоначальных security-оценках организации ожидают найти несколько AI-инструментов, а обнаруживают десятки — включая browser extensions и IDE-плагины, которые никто не помнит, когда установил [23]. Без видимости не может быть governance.

Итоговая матрица: как применять framework на практике

Для каждого инструмента и класса данных комбинация выглядит так:

Cursor:

  1. Включить Privacy Mode (team-план — включён по умолчанию).
  2. Настроить .cursorignore со списком sensitive paths.
  3. Отключить Auto-Run Mode или включить требование явного approve для shell-команд.
  4. Проверять MCP-конфигурации в .cursor/mcp.json при любых изменениях.
  5. Для Класса C — рассмотреть local LLM вместо cloud-провайдеров.

GitHub Copilot:

  1. Использовать только Business или Enterprise план для закрытых репозиториев.
  2. Настроить org-level content exclusions для sensitive paths.
  3. Убедиться, что разработчики не используют личные Pro-аккаунты на корпоративных репозиториях.
  4. Отключить Terminal auto-approve в VS Code через VS Code policy.
  5. Включить public code filter.
  6. Agent mode и Copilot CLI — отдельная политика, content exclusions для них не работают.

Claude Code:

  1. Использовать Enterprise API с ZDR addendum для конфиденциального кода.
  2. Настроить deny-правила в ~/.claude/settings.json для sensitive paths.
  3. Запускать в изолированном контексте с минимальными правами.
  4. Human review обязателен для всех изменений в auth, crypto, CI/CD.
  5. MCP-интеграции — только через явно одобренный список.

Для всех инструментов:

  • Не хранить реальные credentials, PII, API-ключи в файлах, которые открываются в IDE одновременно с AI-сессиями.
  • Pre-commit хуки для сканирования секретов перед коммитом (GitLeaks, TruffleHog).
  • Логирование AI-взаимодействий для audit trail.
  • Периодический review, какие инструменты реально используются в команде.

Что происходит в момент merge — и почему это важнее момента написания

Большинство governance-усилий сосредоточено на начале: какой инструмент одобрить, какие настройки включить. Но риск часто материализуется позже — в PR.

AI написал быстро. PR создан. Reviewer смотрит на 300 строк diff и успевает проверить бизнес-логику, но не дочитывает до изменения в конфигурации на 47-й строке. Новая транзитивная зависимость приехала тихо. Конфигурационный файл CI/CD получил новый environment variable.

Именно на этом этапе нужен отдельный слой контроля — не заменяющий code review, а дополняющий его. Слой, который смотрит на конкретное изменение, понимает его контекст (что меняется в зависимостях, что изменилось в конфигурации, как это соотносится с релизом) и даёт короткий сигнал: можно принять это изменение сейчас или нет. HighVibe решает именно эту задачу: не сканирует весь репозиторий и не генерирует длинный отчёт, а анализирует конкретный PR и говорит команде, что действительно блокирует merge или релиз.

Заключение

Cursor, Copilot и Claude Code можно использовать в закрытых репозиториях. Но «можно» — это не про отсутствие риска, а про набор условий, при которых риск становится управляемым.

Ключевые выводы:

  1. Корпоративный план с ZDR — необходимое условие, не достаточное.
  2. Retention ≠ изоляция: код передаётся при каждом запросе.
  3. Content exclusions нужно настраивать явно; .copilotignore и .cursorignore работают по-разному в разных IDE и не всегда надёжно.
  4. Agentic-режимы и MCP значительно расширяют attack surface; им нужна отдельная политика.
  5. Human review — обязательный gate, особенно для auth, crypto, конфигурации и зависимостей.
  6. Governance — живой процесс: проводить discovery того, что реально используется, обновлять whitelist, проверять конфигурации.

Вопрос «безопасно или нет» не имеет универсального ответа. Вопрос «что нужно настроить, чтобы это было приемлемо для нашего класса данных» — имеет.

Источники

[1] Stack Overflow Developer Survey 2024 — https://survey.stackoverflow.co/2024/

[2] IBM Institute for Business Value, Securing generative AI, 2024 — https://www.ibm.com/thought-leadership/institute-business-value/report/ceo-generative-ai

[3] Skywork AI, Cursor 2.0: Security and Privacy, 2025 — https://skywork.ai/blog/vibecoding/cursor-2-0-security-privacy/

[4] Cursor, Data Use & Privacy Overview — https://cursor.com/data-use

[5] bb.com.tr, Is Cursor Safe? Are Your Code Data Truly Protected? — https://bb.com.tr/en/blog/software-development/is-cursor-safe-are-your-code-data-truly-protected

[6] Cursor, Security — https://cursor.com/security

[7] The Hacker News, Researcher Uncovers 30+ Flaws in AI Coding Tools, December 2025 — https://thehackernews.com/2025/12/researchers-uncover-30-flaws-in-ai.html

[8] MintMCP Blog, Cursor security: complete guide to risks, vulnerabilities & best practices, 2025 — https://www.mintmcp.com/blog/cursor-security

[9] GitHub Community, FAQ: Privacy Statement update on Copilot data use for model training, 2026 — https://github.com/orgs/community/discussions/188488

[10] Microsoft Community Hub, Demystifying GitHub Copilot Security Controls, November 2025 — https://techcommunity.microsoft.com/blog/azuredevcommunityblog/demystifying-github-copilot-security-controls-easing-concerns-for-organizational/4468193

[11] GitHub Docs, Excluding content from GitHub Copilot — https://docs.github.com/en/copilot/how-tos/configure-content-exclusion/exclude-content-from-copilot

[12] Paul Sørensen, Configure GitHub Copilot in VSCode with a Privacy-First Approach, 2025 — https://paulsorensen.io/github-copilot-vscode-privacy/

[13] Cape, Claude AI Privacy Policy: Takeaways for Everyday Users, 2026 — https://www.cape.co/blog/claude-ai-privacy-policy

[14] DataStudios, Claude: data retention policies, storage rules, and compliance overview, 2025 — https://www.datastudios.org/post/claude-data-retention-policies-storage-rules-and-compliance-overview

[15] Skywork AI, Claude Desktop Security & Privacy FAQ, 2025 — https://skywork.ai/blog/ai-agent/claude-desktop-security-privacy-faq/

[16] Brian Gershon, Securing AI Coding Tools: Permission Controls and Credential Protection for Engineering Teams, 2025 — https://www.briangershon.com/blog/securing-ai-coding-tools/

[17] Claude Code Docs, Security — https://code.claude.com/docs/en/security

[18] Read AI, How Does Claude AI Implement Data Security? — https://www.read.ai/articles/how-does-claude-ai-implement-data-security

[19] Knostic, Governance for your AI Coding Assistant, January 2026 — https://www.knostic.ai/blog/ai-coding-assistant-governance

[20] Knostic, AI Coding Agent Governance Policies That Work, January 2026 — https://www.knostic.ai/blog/ai-coding-agent-governance

[21] GitGuardian, GitHub Copilot Privacy: Key Risks and Secure Usage Best Practices, December 2025 — https://blog.gitguardian.com/github-copilot-security-and-privacy/

[22] Graphite, Privacy and security considerations when using AI coding tools — https://graphite.com/guides/privacy-security-ai-coding-tools

[23] ISACA Now Blog, Securing the AI Frontier: A Practical Framework for Assessing AI Coding Assistant Vulnerabilities, March 2026 — https://www.isaca.org/resources/news-and-trends/isaca-now-blog/2026/securing-the-ai-frontier-a-practical-framework-for-assessing-ai-coding-assistant-vulnerabilities

Быстрые вопросы и ответы

Как обеспечить безопасность кода при использовании AI?

Настройте privacy-режимы и используйте одобренные инструменты.

Что такое Privacy Mode в Cursor?

Режим, который гарантирует отсутствие хранения кода после обработки.

Как Copilot обрабатывает данные пользователей?

Данные не используются для обучения в бизнес-планах, но могут сохраняться в личных.

Какие риски связаны с использованием Claude Code?

Инструмент может читать чувствительные файлы, если не настроены deny-правила.

Что такое content exclusions в Copilot?

Механизм для исключения чувствительных путей из обработки AI.

Каковы требования к одобренным инструментам?

Наличие корпоративного плана и соответствие стандартам безопасности.

Нужна консультация по вашему контуру?
Покажем, где появляются персональные данные и какие риски требуют внимания в первую очередь.