· 3 мин · Новости

По сообщениям, Alibaba запрещает Claude Code из-за опасений по поводу безопасности

По сообщениям, Alibaba запрещает Claude Code из-за опасений по поводу безопасности

Alibaba запрещает Claude Code: воспринимайте сообщение как сигнал для закупок, а не как вердикт

Крупной инженерной организации не нужны доказательства наличия бэкдора, чтобы приостановить использование ИИ-агента для программирования. Достаточно одного нерешённого вопроса в неподходящем месте: «Может ли этот инструмент читать исходный код, который мы не вправе раскрывать по закону или условиям договора?»

Именно с такой практической точки зрения я бы рассматривал сообщения о запрете Claude Code на рабочих местах в Alibaba. Озвученные опасения серьёзны, но вывод для инженеров не сводится к тому, что «в Claude Code подтверждено наличие бэкдора». Общедоступные факты этого не устанавливают. Полезный вывод более узкий и прикладной: ИИ-агенты для программирования теперь настолько тесно связаны с исходным кодом, системами сборки, секретами, журналами и процессами развёртывания, что должны проходить такую же проверку при закупке и оценку безопасности, как платформы CI/CD, системы поиска по коду, инструменты наблюдаемости и ноутбуки разработчиков.

Иными словами: отделяйте обвинение от механизмов управления.

Опасения по поводу предполагаемого бэкдора или сообщения о нём следует считать неподтверждённым утверждением, пока не появятся конкретные технические доказательства. Но категории рисков, связанных с Claude Code, вполне реальны и заслуживают тщательной оценки: к какому коду агент имеет доступ, какие команды может выполнять, какая телеметрия покидает компьютер, какая модель обрабатывает запрос, какие правила хранения данных действуют и как организация обеспечивает соблюдение политик на тысячах рабочих станций разработчиков.

Именно это должно интересовать руководителей инженерных команд.

Что на самом деле означает запрет Claude Code на рабочих местах

Когда компания запрещает инструмент разработки или приостанавливает его использование, это часто воспринимают как обвинение в технических недостатках. На практике запреты нередко отражают статус согласования закупки.

«Запрет» может означать несколько разных вещей:

Статус по внутренним правиламЧто это обычно означаетВлияние на работу инженеров
Временная приостановкаПроверка безопасности, юридическая проверка или согласование закупки не завершеныРазработчики прекращают использовать инструмент до завершения проверки
Блокировка сетевой политикойДоступ к доменам, установка пакетов или запуск исполняемых файлов ограниченыИнструмент может не проходить аутентификацию или не обращаться к API моделей
Ограниченное использованиеРазрешено только для одобренных репозиториев или категорий данныхКомандам нужны классификация репозиториев и рекомендации по использованию
Одобрено при соблюдении мер контроляИнструмент разрешён при условии ведения журналов, настройки и обученияРазработчики могут использовать его в установленных пределах
Полный запретОрганизация решила, что риск превышает пользуКомандам нужны альтернативные инструменты и план перехода

Поэтому сообщения о том, что Alibaba запрещает Claude Code, сами по себе не доказывают наличия скрытой технической проблемы. Они могут указывать на то, что внутренние проверяющие сочли имеющиеся гарантии недостаточными или что стандартный рабочий процесс инструмента противоречил внутренней политике безопасности.

Это различие важно. Инженерам не стоит превращать каждую остановку согласования закупки в теорию заговора. Но и списывать её на бумажную волокиту тоже не следует. Инструменты разработки, действующие как агенты, создают более широкую поверхность атаки, чем плагины автодополнения. Claude Code может изучать репозиторий, предлагать изменения, выполнять команды при наличии разрешения и помогать ориентироваться в системе. Именно поэтому он полезен и именно поэтому заслуживает полноценной проверки.

Главный вопрос безопасности: что видит агент?

Первое, что нужно оценить, — контроль доступа к коду. Claude Code работает в локальной среде разработки и анализирует доступные ему файлы и контекст. Это даёт широкие возможности, поскольку он может понимать реальный проект, а не отдельные фрагменты. Но это также означает, что командам нужно рассматривать репозиторий как данные.

На практике риск связан не только с очевидными файлами, содержащими секреты. К рискованным данным относятся:

  • Проприетарные алгоритмы
  • Детали реализации для конкретных клиентов
  • Инфраструктура как код
  • Схемы внутренних API
  • Механизмы безопасности и логика обнаружения
  • Тестовые наборы, содержащие скопированные данные из рабочей среды
  • Заметки об инцидентах, разборы их причин или локальные черновые файлы
  • Файлы окружения, случайно добавленные в репозиторий

Распространённая ловушка: команды сосредотачиваются на том, игнорируются ли .env файлы, но забывают, что тесты и документация часто содержат достаточно информации, чтобы восстановить конфиденциальные рабочие процессы. Агент, изучающий tests/integration/payments/ может увидеть фиктивные учётные данные, адреса конечных точек партнёров, правила жизненного цикла аккаунтов и поведение при сбоях. Даже если секретов нет, репозиторий всё равно может быть конфиденциальным.

Простую внутреннюю политику можно начать с классификации репозиториев:

{
  "repo": "payments-core",
  "classification": "restricted",
  "ai_tools": {
    "claude_code": "requires_security_exception",
    "allowed_models": [],
    "external_context_upload": false
  },
  "data_notes": [
    "Contains payment processor workflows",
    "Includes customer contract-specific behavior",
    "No production secrets permitted"
  ]
}

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

Разрешения агента: разница между чтением и действиями

Claude Code — не просто окно чата. Он предназначен для работы в терминале, изучения файлов, редактирования кода и участия в процессах разработки. В зависимости от настроек и одобрения пользователя агент может перейти от «предложений» к «действиям».

Эта граница разрешений — второе, что должны проверить команды безопасности.

Типичная безопасная схема выглядит так:

# Start Claude Code inside a specific repo, not from a broad home directory
cd ~/work/approved-service
claude

Затем ограничьте область рабочей директории. Не запускайте агентные инструменты из ~/work, ~/или из корня монорепозитория, если всё дерево каталогов не одобрено для такого использования.

Для репозиториев с повышенным риском командам часто нужны такие правила:

  • Агент может читать исходные файлы в текущем репозитории
  • Агент не может обращаться к родительским каталогам
  • Агент не может читать .env, ключевые материалы или локальные хранилища учётных данных
  • Агент может предлагать исправления, но не выполнять команды развёртывания
  • Перед установкой пакетов или выполнением команд оболочки агенту требуется явное одобрение
  • Агент не может обращаться к внутренним сервисам рабочей среды с компьютера разработчика

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

Полезный подход — сочетать правила использования инструмента с ограничениями на уровне операционной системы и оболочки. Например, выполняйте работу с конфиденциальными данными в чистом контейнере разработки с ограниченным монтированием файловой системы:

docker run --rm -it \
  -v "$PWD:/workspace" \
  -w /workspace \
  --network=none \
  node:22-bookworm bash

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

Телеметрия, журналы и данные, покидающие компьютер

Следующая область проверки — телеметрия. Для любого ИИ-агента для программирования задайте два отдельных вопроса:

  1. Какой запрос и какой контекст проекта отправляются поставщику модели?
  2. Какую эксплуатационную телеметрию собирает сам инструмент?

Эти вопросы связаны, но не тождественны. Запрос к модели может включать выбранный контекст кода, имена файлов, изменения, вывод терминала и инструкции пользователя. Телеметрия инструмента может включать метаданные использования, ошибки, данные о производительности, события использования функций или диагностические журналы.

Минимальная структура запроса для задачи программирования концептуально может выглядеть так:

{
  "model": "claude-sonnet-4-6",
  "messages": [
    {
      "role": "user",
      "content": "Refactor the auth middleware to return typed errors."
    }
  ],
  "context": {
    "files": [
      {
        "path": "src/auth/middleware.ts",
        "content": "..."
      },
      {
        "path": "src/auth/errors.ts",
        "content": "..."
      }
    ],
    "terminal_output": "npm test failed in auth.middleware.spec.ts"
  }
}

Реальные детали реализации различаются, но именно такую структуру должны анализировать специалисты по проверке безопасности. Конфиденциальным активом часто оказывается контекст, а не короткая инструкция пользователя.

При практической оценке следует задать следующие вопросы:

  • Могут ли разработчики видеть, какие файлы включены в контекст?
  • Можно ли исключить пути к конфиденциальным данным?
  • Сохраняются ли запросы или ответы модели?
  • Используются ли запросы для обучения?
  • Как организованы мониторинг злоупотреблений и журналирование событий безопасности?
  • Могут ли настройки корпоративного аккаунта или API изменить порядок хранения данных?
  • Какие журналы хранятся локально?
  • Какие журналы отправляются на удалённые серверы?

Ответ может различаться для личных подписок, командных и корпоративных тарифов, прямого доступа к API и сторонних реселлеров. Не следует считать, что во всех случаях действуют одинаковые правила.

Маршрутизация моделей и границы ответственности поставщиков

Маршрутизация моделей — ещё один вопрос, которому уделяют недостаточно внимания. В текущей линейке Claude команды могут выбирать между Opus 4.8, Sonnet 4.6, Haiku 4.5 и Fable 5 с контекстным окном 1M, в зависимости от интерфейса продукта и доступности. В рабочих процессах разработки модели класса Sonnet часто обеспечивают подходящий баланс между способностью к рассуждению, задержкой и стоимостью; Opus полезен для более сложных задач проектирования архитектуры или отладки; Haiku может быть полезен для быстрых узких задач; модели с большим контекстом меняют подход к работе с крупными репозиториями и объёмной проектной документацией.

Но при закупке нужен более точный вопрос, чем «какая модель лучше?»

Необходимо знать, куда отправляются запросы.

Контрольный список для маршрутизации моделей должен включать следующие вопросы:

  • Какие идентификаторы моделей разрешены?
  • Какие географические или договорные ограничения действуют?
  • Может ли инструмент перенаправлять запросы на резервные модели?
  • Могут ли пользователи переопределять выбор модели?
  • Разрешены ли модели в бета-версии или предварительном доступе?
  • Доступ к конечной точке API осуществляется напрямую, через прокси или через другого поставщика-посредника?
  • Выполняются ли журналирование, кеширование или преобразование запросов до вызова модели?

Для команд, использующих API Claude напрямую, может быть полезна централизация доступа через внутренний шлюз:

from anthropic import Anthropic

client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1200,
    messages=[
        {
            "role": "user",
            "content": "Review this patch for unsafe database migrations:\n\n..."
        }
    ],
)

print(message.content[0].text)

Такую схему прямого доступа к API проще оценить, чем множество неуправляемых настольных инструментов, но она требует дополнительных усилий: аутентификацию, журналирование, классификацию данных, ограничение частоты запросов и обеспечение соблюдения политик придётся реализовать самостоятельно. Некоторые организации используют внутренний прокси, который отклоняет обращения к запрещённым моделям или блокирует репозитории с ограниченным доступом.

Примерная политика может выглядеть так:

{
  "allowed_models": [
    "claude-sonnet-4-6",
    "claude-haiku-4-5"
  ],
  "blocked_models": [
    "preview-*"
  ],
  "repo_rules": {
    "public": ["claude-sonnet-4-6", "claude-haiku-4-5"],
    "internal": ["claude-sonnet-4-6"],
    "restricted": []
  }
}

Это не самая эффектная работа, но именно такие меры контроля делают проверку безопасности предметной.

Хранение данных — вопрос договора, а не ощущений

Распространённая ошибка — обсуждать безопасность ИИ-инструментов так, будто это исключительно технический вопрос. Хранение данных также зависит от договора и настроек аккаунта.

Для Claude Code и связанных рабочих процессов Claude инженерным командам следует уточнить условия, применимые к их конкретному типу аккаунта и способу развёртывания. Не переносите ответ с другого уровня продукта и не предполагайте, что настройка для частных пользователей применима к корпоративной интеграции.

На встречах по оценке я предпочитаю разделять вопросы хранения данных на четыре категории:

Тип данныхПримерВопрос для проверки
Содержимое запросаИнструкция пользователя и выбранные файлы исходного кодаСохраняется ли оно, на какой срок и с какой целью?
Содержимое ответаСгенерированный код, анализ, предлагаемые исправленияСохраняется ли ответ вместе с запросом?
МетаданныеМодель, временная метка, количество токенов, ошибкиСвязаны ли они с личностью пользователя или репозиторием?
Локальные артефактыЖурналы, записи сеансов, кешированный контекстГде они хранятся на компьютере разработчика?

Категорию локальных артефактов легко упустить. Даже если политика поставщика приемлема, локальная запись сеанса, содержащая закрытый код, всё равно может стать проблемой, если окажется в синхронизируемой папке, незашифрованной резервной копии или пакете данных для службы поддержки.

На практике я рекомендую командам зафиксировать простое правило обращения с такими данными: записи сеансов программирования с ИИ являются артефактами разработки и наследуют уровень конфиденциальности самого конфиденциального файла, включённого в сеанс.

Внутренние меры контроля, которые действительно работают

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

Рабочая политика использования Claude Code для инженерной организации среднего размера может включать следующие правила:

  • Использовать только одобренные типы аккаунтов
  • Не использовать инструмент в репозиториях с ограниченным доступом без разрешения на исключение
  • Не включать в запросы секреты, учётные данные, данные из рабочей среды или данные клиентов
  • Запускать инструмент только из корневой папки нужного репозитория
  • Требовать согласования команд оболочки, которые изменяют файлы, устанавливают пакеты, обращаются к сети или затрагивают системы развёртывания
  • Использовать только модели из одобренного списка
  • Хранить записи сеансов в соответствии с классификацией репозитория
  • Сообщать о неожиданном поведении инструмента через канал приёма обращений службы безопасности

Эту политику следует подкрепить техническими мерами контроля. Например:

# Block accidental secret exposure before commits
git secrets --scan
gitleaks detect --source .

А также файлом исключений для ИИ-контекста на уровне проекта, если используемые инструменты это поддерживают:

.env
.env.*
*.pem
*.key
secrets/
credentials/
customer_exports/
prod_dumps/
incident_notes/

Одних файлов исключений недостаточно. Это защитные ограничения, а не программа управления данными. Но они сокращают число обычных ошибок, которые приводят к инцидентам безопасности.

Для команд, стандартизирующих использование Claude Code, я бы также поддерживал включённый в систему контроля версий AI_USAGE.md рядом с корнем репозитория:

# AI Tool Policy

Classification: internal

Allowed:
- Use Claude Code for tests, refactors, local debugging, and documentation.
- Include source files from this repository.

Not allowed:
- Do not paste customer data.
- Do not include `.env` files, credentials, or production logs.
- Do not ask the agent to run deployment commands.

Approved models:
- claude-sonnet-4-6
- claude-haiku-4-5

Разработчикам нужна политика непосредственно там, где они работают, а не только в вики по соблюдению требований.

Утверждение о бэкдоре следует рассматривать отдельно

Сообщения об опасениях по поводу бэкдора — самая заметная часть истории с Alibaba, но именно с ней проще всего обойтись некорректно.

Бэкдор — это конкретное техническое утверждение. Оно подразумевает намеренно скрытый доступ, несанкционированное поведение или тайный канал управления. Для этого нужны доказательства: воспроизводимое поведение, трассировки сетевого трафика, анализ бинарных файлов, журналы, проверка исходного кода или достоверный отчёт об инциденте с достаточными для оценки подробностями. Без этого речь остаётся об утверждении или сообщении, а не о подтверждённом факте.

Команды безопасности всё равно должны реагировать рационально. Компания может приостановить использование инструмента на время расследования такого утверждения, особенно если у инструмента широкий доступ к исходному коду. Это не паника, а обычное управление рисками.

Правильный подход таков:

  • Не утверждайте, что в Claude Code подтверждено наличие бэкдора, если это не установлено доказательствами.
  • Не отмахивайтесь от опасений лишь потому, что они не подтверждены.
  • Оценивайте инструмент на основе проверяемых мер контроля.
  • Определите, оправданы ли временные ограничения в вашей среде.
  • Пересматривайте решение по мере появления новых фактов, ответов поставщика и результатов внутренних испытаний.

Это взвешенная позиция.

Что на самом деле происходит, когда команды пропускают проверку

Поначалу проблема редко выглядит драматично. Она выглядит как удобство.

Одна команда использует агента в репозитории публичного фронтенда. Другая — в сервисе с внутренними контрактами API. Кто-то вставляет трассировку стека из рабочей среды. Кто-то ещё просит кратко изложить локальный документ об инциденте. Старший инженер запускает инструмент из корня монорепозитория, потому что ему нужен контекст нескольких сервисов. Никто не пытается допустить утечку данных; в рабочем процессе просто нет границ.

Затем отдел закупок спрашивает, какие репозитории использовались с какими инструментами, и никто не может ответить.

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

Claude Code ценен именно потому, что работает там же, где инженеры. Он может ускорить написание тестов, навигацию по кодовой базе, планирование миграций и утомительный рефакторинг. Но та же близость к рабочей среде, которая делает его полезным, означает, что его необходимо считать частью системы инженерного контроля.

Практические рекомендации

Рассматривайте сообщения о запрете в Alibaba как повод усилить собственный процесс проверки, а не как доказательство подтверждённого бэкдора в Claude Code.

Прежде чем одобрить Claude Code или любой сопоставимый агентный инструмент программирования, оцените:

  • Доступ к коду: какие репозитории, файлы и локальные артефакты доступны инструменту
  • Разрешения агента: может ли он выполнять команды, редактировать файлы, устанавливать пакеты или обращаться к сети
  • Телеметрия: какие запросы, ответы, метаданные и диагностические сведения собираются
  • Маршрутизация моделей: какие модели Claude разрешены и предусмотрено ли перенаправление на резервные модели
  • Хранение данных: как хранятся содержимое запросов, ответы, метаданные и локальные журналы
  • Меры контроля соблюдения политики: как обеспечивается соблюдение классификации репозиториев и инструкций для разработчиков

Для большинства команд целью не должно быть безоговорочное разрешение или полный запрет. Более подходящая цель — контролируемое внедрение: одобренные аккаунты, одобренные модели, чёткая классификация репозиториев, локальная изоляция там, где она нужна, и письменные правила, которым разработчики могут следовать, не прерывая работу.

Утверждение о предполагаемом бэкдоре относится к категории «расследовать и проверить». Сопутствующие практики безопасности — к категории «сделать сейчас».

A

Этот блог публикует AI Prime Tech. Статьи готовятся с помощью ИИ; прежде чем полагаться на сведения, зависящие от версии, такие как идентификаторы моделей, цены и лимиты, сверяйте их с официальной документацией.

Получите более дешёвый доступ к API Claude

Один ключ API для Claude Opus 5.5, Sonnet 5, Haiku 4.5 и Fable 5.1, а также GPT-6 моделей. Оплата по мере использования, без подписки.

Получить ключ API →
AI Prime Tech — независимый сторонний API-шлюз. Claude™ и Anthropic® — товарные знаки Anthropic, PBC. Связь с этой компанией или одобрение с её стороны не подразумеваются.