Skip to main content

Риски и меры по снижению рисков для облачного агента GitHub Copilot

Как Copilot облачный агентвстроенные системы защиты снижают известные риски?

          Copilot облачный агент это автономный агент, имеющий доступ к вашему коду и способный отправлять изменения в репозиторий. Это влечет за собой определенные риски.

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

Непроверенный код может создавать уязвимости

          По умолчанию Copilot облачный агент проверяет генерируемый код на предмет проблем безопасности и получает второе мнение по своему коду с Обзор кода Copilot. Он пытается устранить проблемы, выявленные до завершения pull request. Это повышает качество кода и снижает вероятность генерации кода, вводя Copilot облачный агент такие проблемы, как жёстко закодированные секреты, небезопасные зависимости и другие уязвимости.
          Copilot облачный агент
          **проверка безопасности не требует**GitHub Secret Protection, GitHub Code Security, or GitHub Advanced Security лицензии.

          CodeQL
          ** используется для выявления проблем с безопасностью кода.
  • Новые зависимости проверяются на GitHub Advisory Database наличие вредоносных предупреждений и уязвимостей с рейтингом CVSS.

          Secret scanning
          ** используется для обнаружения чувствительной информации, такой как ключи API, токены и другие секреты.
  • Подробности о проведённом анализе и предпринятых Copilot облачный агент действиях можно изучить в журнале сессий. См . раздел AUTOTITLE.

Опционально можно отключить один или несколько инструментов проверки качества кода и безопасности, используемых Copilot облачный агент. См . раздел AUTOTITLE.

          Copilot облачный агент Можете отправлять изменения кода в ваш репозиторий

Чтобы снизить этот риск, GitHub:

  • Ограничение, кто может спровоцировать агент. Только пользователи с доступом к записи в репозиторий могут активировать Copilot облачный агент работу. Комментарии пользователей без write access никогда не отображаются агенту.
  • Ограничивает ветку, к которой агент может подключиться. Copilot облачный агент Он способен толкать только к одной ветке. Когда агент запускается упоминанием @copilot на существующем pull request, Copilot получает доступ к записи в ветку pull-запроса. В других случаях создаётся новая copilot/ ветвь для Copilot, и агент может отправлять только в эту ветвь. Агент также подлежит любым защитам филиалов и необходимым проверкам рабочего репозитория.
  • Ограничивает полномочия агента. Copilot облачный агент может выполнять только простые операции push. Он не может выполняться git push напрямую или другие команды Git.
  • Требуется проверка человека перед слиянием. Черновые pull requests, созданные Copilot облачный агент компанией, должны быть рассмотрены и объединены человеком. Copilot облачный агент не может пометить свои pull requests как «Готовы к рассмотрению» и не может одобрить или объединить pull request.
  • Ограничивает GitHub Actions запуски рабочих процессов. По умолчанию рабочие процессы запускаются только после Copilot облачный агентпроверки кода ' и пользователя с доступом к записи репозитория не нажмёт кнопку «Утвердить» и «Запустить рабочие процессы ». По желанию можно настроить Copilot так, чтобы рабочие процессы запускались автоматически. См . раздел AUTOTITLE.
  • Это предотвращает одобрение пользователем, который попросил Copilot облачный агент создать pull request. Это поддерживает ожидаемые элементы управления в правиле "Обязательные утверждения" и защите ветви. См . раздел AUTOTITLE.

          Copilot облачный агент имеет доступ к конфиденциальной информации

          Copilot облачный агент имеет доступ к коду и другой конфиденциальной информации и может её слить — случайно или из-за злонамеренного пользователя.

Чтобы снизить этот риск, GitHubограничивает Copilot облачный агентдоступ к интернету. См . раздел AUTOTITLE.

Подсказки ИИ могут быть уязвимы к инъекции

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

Чтобы снизить этот риск, GitHubскрытые символы фильтруются перед передачей пользовательского ввода в Copilot облачный агент: Например, текст, введённый как HTML-комментарий в проблеме или комментарии pull request, не передаётся в Copilot облачный агент.

Администраторы могут потерять из виду работу агентов

Для снижения этого риска Copilot облачный агент проект проектируется так, чтобы быть проверяемым и отслеживаемым.

  • Copilot облачный агенткоммиты P автором Copilotявляется , при этом разработчик, который назначил проблему или запросил изменение пулл-запроса, обозначен как соавтор. Это облегчает идентификацию кода, сгенерированного Copilot облачный агент и тем, кто начал задачу.
  • Copilot облачный агентКоммиты на сайте подписаны, поэтому они отображаются как «Проверенные» на GitHub. Это даёт уверенность в том, что коммиты были сделаны Copilot облачный агент и не изменялись.
  • Журналы сессий и события журнала аудита доступны администраторам.
  • Сообщение коммита для каждого коммита, созданного агентом, содержит ссылку на журналы сессий агента для проверки кода и аудита. См . раздел AUTOTITLE.