Skip to main content

Ответственное обнаружение универсальных секретов с помощью сканирования секретов Copilot

Узнайте, как использует ИИ ответственно для сканирования и создания оповещений для неструктурированных секретов, таких как пароли.

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

Сканирование секретов Copilot доступен для следующих репозиториев:

О обнаружение универсального секрета с Сканирование секретов Copilot

Сканирование секретов Copilotобнаружение универсального секрета — это расширение , на основе ИИ расширение secret scanning, которое определяет неструктурированные секреты (пароли) в исходном коде, а затем создает оповещение.

Пользователи GitHub Advanced Security уже могут получать Оповещения о сканировании секретов для партнерских или пользовательских шаблонов, найденных в исходном коде, но неструктурированные секреты не легко обнаруживаются. Сканирование секретов Copilot использует большие языковые модели (LLM) для идентификации этого типа секрета.

При обнаружении пароля оповещение отображается в списке "Экспериментальный" оповещений secret scanning (на вкладке "Безопасность " репозитория, организации или предприятия), чтобы поддержку и руководители системы безопасности могли просматривать оповещение и, при необходимости, удалять учетные данные или реализовывать исправление.

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

Обработка входных данных

Входные данные ограничены текстом (обычно кодом), который пользователь проверил в репозитории. Система предоставляет этот текст LLM вместе с метазаставкой, запрашивая LLM найти пароли в области входных данных. Пользователь напрямую не взаимодействует с LLM.

Система сканирует пароли с помощью LLM. Никакие дополнительные данные не собираются системой, кроме того, что уже собрано существующим компонентом secret scanning .

Выходные данные и отображение

LLM проверяет строки, похожие на пароли и проверяющие, что определенные строки, включенные в ответ, фактически существуют в входных данных.

Эти обнаруженные строки отображаются в виде оповещений на странице оповещений secret scanning, но они отображаются в дополнительном списке, отдельном от обычных Оповещения о сканировании секретов. Цель заключается в том, что этот отдельный список с более тщательной проверкой для проверки действительности выводов. Каждое оповещение отмечает, что оно было обнаружено с помощью ИИ.

Повышение производительности обнаружение универсального секрета

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

Проверка точности оповещений и закрытие по мере необходимости

Так как Сканирование секретов Copilotобнаружение универсального секрета может создавать более ложные срабатывания, чем существующие функции secret scanning для шаблонов партнеров, важно проверить точность этих оповещений. При проверке генерации оповещений о ложном срабатывании обязательно закройте оповещение и пометите причину как ложноположительное в пользовательском интерфейсе GitHub. Команда разработчиков GitHub будет использовать сведения о ложноположительных томах и расположениях обнаружения для улучшения модели. GitHub не имеет доступа к самим секретным литералам.

Ограничения обнаружение универсального секрета

При использовании Сканирование секретов Copilotв обнаружение универсального секретаследует учитывать следующие ограничения.

Ограниченная область

Обнаружение универсального секрета в настоящее время ищет только экземпляры паролей в содержимом Git. Эта функция не ищет другие типы универсальных секретов и не ищет секреты в содержимом, отличном от git, например GitHub Issues.

Потенциал для ложных срабатываний оповещений

Обнаружение универсального секрета может создавать более ложные положительные оповещения по сравнению с существующей функцией secret scanning (которая обнаруживает шаблоны партнеров и имеет очень низкую ложноположительный коэффициент). Чтобы устранить этот избыточный шум, оповещения группируются в отдельном списке от оповещений шаблонов партнеров, а руководители и специалисты по безопасности и поддержке должны проверять их точность.

Потенциал для неполных отчетов

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

Ограничения по проектированию

Обнаружение универсального секрета имеет следующие ограничения по проектированию:

  • Сканирование секретов Copilot не обнаруживает секреты, которые, очевидно, поддельные или тестируют пароли или пароли с низкой энтропией.
  • Сканирование секретов Copilot будет обнаруживать только не более 100 паролей на отправку.
  • Если пять или более обнаруженных секретов в одном файле помечены как ложные положительные, Сканирование секретов Copilot перестанет создавать новые оповещения для этого файла.
  • Сканирование секретов Copilot не обнаруживает секреты в созданных или поставщиков файлах.
  • Сканирование секретов Copilot не обнаруживает секреты в зашифрованных файлах.
  • Сканирование секретов Copilot не обнаруживает секреты в типах файлов: SVG, PNG, JPEG, CSV, TXT, SQL или ITEM.
  • Сканирование секретов Copilot не обнаруживает секреты в тестовом коде. Сканирование секретов Copilot пропускает обнаружения, где:
    • Путь к файлу содержит "test", "mock" или "spec".
    • Расширение файла: .cs, .java``.py``.kt``.js``.go``.rb``.scala``.php, .swiftили ..ts

Оценка обнаружение универсального секрета

Обнаружение универсального секрета подвергся ответственному использованию ИИ Red Teaming и GitHub будет продолжать отслеживать эффективность и безопасность функции с течением времени.

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