Skip to main content

Сканирование секретов с помощью сервера GitHub MCP

Обнаружите раскрытые секреты в реальном времени от вашего агента ИИ, ещё до того, как они попадут в ваш репозиторий.

Кто может использовать эту функцию?

People with write access to a repository.

          GitHub Сервер Model Context Protocol (MCP) позволяет запускать secret scanning напрямую из GitHub Copilot агентного режима GitHub Copilot CLIи других инструментов, совместимых с MCP. Сканируйте свой код на наличие открытых ключей, токена и учетных данных по ходу работы и исправляйте их перед тем, как запускать.

Инструменты секретного сканирования доступны только через удалённый GitHub сервер MCP. Локальные конфигурации серверов MCP не поддерживаются.

Это работает с любым совместимым с MCP агентом или IDE, включая Visual Studio CodeJetBrains, Claude Code, Cursor и Windsurf. Опыт у разных клиентов варьируется.

Примечание.

Результаты, полученные сканированием, вызванным MCP, являются эфемерными. Они отображаются в чате вашего агента только для текущей сессии и не сохраняются в виде оповещений на GitHub. Это означает, что эти данные не будут отображаться во вкладке «Безопасность», в secret scanning списке оповещений или в API REST/GraphQL для оповещений. MCP-сканы должны рассматриваться как проверка безопасности перед фиксацией, а не как система записи. Исправьте результаты до того, как они будут перенесены в репозиторий и сохранены в истории Git.

Необходимые условия


          GitHub Secret Protection
          ** включена для репозитория.

          GitHub MCP-сервер** подключён к вашему IDE или агенту. См [. раздел AUTOTITLE](/copilot/how-tos/provide-context/use-mcp/set-up-the-github-mcp-server).
  • Конфигурация безопасности вашей организации определяет, какие типы секретов будут обнаружены и применяется ли защита от push. Инструменты MCP уважают конфигурацию защиты от push в вашей организации (настройки защиты push на уровне репозитория не используются).

Шаг 1: Установка и настройка инструментов

Включить secret_protection набор инструментов

Включите secret_protection набор инструментов, чтобы сканирование стало доступным вашему агенту. Стандартные наборы инструментов этого не включают.

          `run_secret_scanning` Инструмент сейчас прикреплён к `copilot` набору инструментов, а не `secret_protection`к . Вы должны явно включить `run_secret_scanning` его в качестве дополнительного инструмента вместе с `secret_protection` набором инструментов в конфигурацию MCP.
          GitHub Copilot CLI имеет встроенный GitHub сервер MCP:
copilot mcp --toolsets=secret_protection --tools=run_secret_scanning

Добавьте secret_protection набор инструментов и их run_secret_scanning tool в конфигурацию MCP:

JSON
{
  "servers": {
    "github": {
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "X-MCP-Toolsets": "secret_protection",
        "X-MCP-Tools": "run_secret_scanning"
      }
    }
  }
}

В вашем IDE JetBrains отредактируйте конфигурацию MCP-сервера, включив secret_protection набор инструментов и run_secret_scanning заголовки инструментов. Для получения дополнительной информации о настройке MCP-серверов в JetBrains см. раздел MCP Server в документации JetBrains.

JSON
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "GitHub-MCP-Toolsets": "secret_protection",
        "GitHub-MCP-Tools": "run_secret_scanning"
      }
    }
  }
}

(По желанию) Установите плагин Advanced Security

Плагин даёт /secret-scanning команду Slash для упрощённого Advanced Security сканирования в GitHub Copilot CLI и Visual Studio Code. Плагин использует инструменты MCP под капотом, так что всё равно нужно включить secret_protection набор инструментов.

Инструкции по установке плагина:

Шаг 2: Отсканируйте свой код

После включения инструментов сканирование можно запускать несколькими способами в зависимости от клиента.

          **Задание на естественном языке**. В любом агенте, совместимом с MCP, вы можете спросить:

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

«Проверь secret scanning файлы, которые я изменил с момента последнего коммита, и резюмируй все находки с высокой степенью доверия.»

          **Команда Slash (требуется плагинAdvanced Security).** Если вы установили дополнительный плагин на Шаге 1, вы также можете использовать:

"/secret-scanning Проверьте поэтапный дифференциал на учетные данные, ключи или токены и предложите замену с использованием переменных среды."

          **Прямое вызов инструмента:** Вы также можете вызвать инструмент сканирования напрямую у клиента.

Выполните copilot --add-github-mcp-tool run_secret_scanning.

Введите /secret-scanning .Копилот Чат

  1. В вашем IDE откройте Копилот Чат
  2. Нажмите на вкладку «Агент »
  3. Используйте запрос вроде: «Отсканируйте мои недавние изменения на наличие раскрытых секретов, прежде чем я принимаю решение.» Вы также можете нажать на значок инструментов в чате, чтобы напрямую просматривать доступные secret_protection инструменты.

Агент возвращает:

  • Тип найденного секрета
  • Файл и линия, где он был обнаружен
  • Этапы устранения, такие как удаление или ротация учетных данных

Если защита от push включена, MCP-сервер также блокирует включение секретов в любые действия, которые он совершает от вашего имени, такие как коммиты, pull requests или создание файлов. См . раздел AUTOTITLE.

Troubleshooting

ПроблемаПроверьте
Сканирование не даёт результатовУбедитесь, secret_protection что инструментарий включён в вашей конфигурации MCP.
Репозиторий не подходит
          Secret scanning via MCP доступна для публичных репозиториев и требует GitHub Secret Protection включения для частных и внутренних репозиториев. |

| Агент не узнаёт инструмент | Убедитесь, что ваш IDE или агент поддерживает MCP. См . раздел AUTOTITLE. | | Неожиданные результаты обнаружения | Конфигурация безопасности вашей организации определяет, какие шаблоны будут сканированы. Проверьте настройки безопасности репозитория. | | Инструмент работает в одном клиенте, но не в другом | Опыт варьируется у разных клиентов, совместимых с MCP. Проверьте документацию MCP вашего клиента на наличие поддерживаемых функций. |

Дополнительные материалы