Просмотр оповещений в репозитории
Любой пользователь с разрешением на чтение для репозитория может просматривать заметки code scanning для запросов на включение внесенных изменений. Дополнительные сведения см. в разделе Рассмотрение оповещений проверки кода в запросах на вытягивание.
Чтобы просмотреть сводку по всем оповещениям в репозитории на вкладке Безопасность, требуется разрешение на запись.
По умолчанию на странице оповещений о проверке кода применяется фильтр, в результате на ней отображаются оповещения только для ветви репозитория по умолчанию.
-
На экземпляр GitHub Enterprise Server перейдите на главную страницу репозитория. 1. Под именем репозитория щелкните Безопасность. Если вкладка "Безопасность" не отображается, выберите раскрывающееся меню и выберите пункт Безопасность.
1. На левой боковой панели щелкните Оповещения о проверке кода. -
Кроме того, отфильтровать оповещения можно с помощью раскрывающихся меню, или указав нужный текст в поле поиска. Например, можно отфильтровать список по инструменту, который использовался для идентификации оповещений.
-
В разделе "Code scanning" щелкните оповещение, которое вы хотите изучить, чтобы отобразить подробную страницу оповещения.
-
Если в оповещении выделена проблема с потоком данных, щелкните Показать пути, чтобы отобразить путь из источника данных к приемнику, где используется этот поток.
-
Оповещения, связанные с анализом CodeQL содержат описание проблемы. Нажмите кнопку Дополнительно, чтобы узнать, как исправить код.
Дополнительные сведения см. в разделе О предупреждениях о сканировании кода.
Примечание. В анализе результатов работы функции "code scanning" с помощью CodeQL сведения о последнем запуске показываются в заголовке в верхней части списка оповещений функции "code scanning" для репозитория.
Например, там приводится время последней проверки, количество проанализированных строк кода по сравнению с общим количеством строк кода в репозитории, а также общее количество созданных оповещений.
Фильтрация оповещений функции "code scanning"
Оповещения, которые показаны в представлении оповещений для функции "code scanning", можно фильтровать. Это полезно, когда нужно выделить определенный тип оповещений. Для уточнения списка отображаемых оповещений можно использовать ряд стандартных фильтров и ключевых слов.
При выборе ключевое слово из раскрывающегося списка или при вводе ключевое слово в поле поиска отображаются только значения с результатами. Это упрощает настройку фильтров, которые не находят результатов.
Если ввести несколько фильтров, в представлении будут отображаться оповещения, соответствующие всем этим фильтрам. Например, с фильтром is:closed severity:high branch:main
будут отображаться только закрытые оповещения с высоким уровнем серьезности в ветви main
. Исключение составляют фильтры, относящиеся к ссылкам (ref
, branch
и pr
): например, с фильтром is:open branch:main branch:next
отображаются открытые оповещения как из ветви main
, так и из ветви next
.
К фильтру tag
можно добавить префикс -
, чтобы исключить результаты с этим тегом. Например, с фильтром -tag:style
отображаются только оповещения, у которых нет тега style
.
Ограничение результатов только кодом приложения
С помощью фильтра "Оповещения только в коде приложения" или ключевого слова autofilter:true
со значением можно ограничить результаты оповещениями в коде приложения. Дополнительные сведения о типах кода, которые не являются кодом приложения, см. выше в разделе Сведения о метках для оповещений, не в коде приложения.
Поиск в оповещениях функции "code scanning"
В списке оповещений можно выполнять поиск. Это полезно, если в репозитории имеется много оповещений или если вы не знаете точное имя оповещения. GitHub Enterprise Server позволяет искать произвольный текст в следующих расположениях:
- Имя оповещения.
- Сведения об оповещении (сюда также входят сведения, скрытые из представления по умолчанию в разделе Показать более свертываемые)
Вид поиска | Пример синтаксиса | Результаты |
---|---|---|
Поиск по одному слову | injection | Возвращает все оповещения, содержащие слово injection |
Поиск по нескольким словам | sql injection | Возвращает все оповещения, содержащие слова sql или injection |
Поиск точного совпадения (используются двойные кавычки) | "sql injection" | Возвращает все оповещения, содержащие точную фразу sql injection |
Поиск с оператором OR | sql OR injection | Возвращает все оповещения, содержащие слова sql или injection |
Поиск с оператором AND | sql AND injection | Возвращает все оповещения, содержащие оба слова: sql и injection |
Советы
- Поиск по нескольким словам эквивалентен поиску с оператором OR.
- Поиск с оператором AND возвращает результаты, в которых слова из поискового запроса находятся в имени оповещения или в сведениях о немв любом месте и в любом порядке.
- На экземпляр GitHub Enterprise Server перейдите на главную страницу репозитория. 1. Под именем репозитория щелкните Безопасность. Если вкладка "Безопасность" не отображается, выберите раскрывающееся меню и выберите пункт Безопасность.
1. На левой боковой панели щелкните Оповещения о проверке кода. - Справа от раскрывающихся меню Фильтры введите в поле поиска произвольного текста ключевые слова, которые нужно найти.
- Нажмите Ввод. В список оповещений попадут открытые оповещения функции "code scanning", соответствующие условиям поиска.
Исправление оповещения
Любой пользователь с разрешением на запись для репозитория может исправить оповещение, зафиксировав исправление в коде. Если в репозитории настроен запуск функции "code scanning" для запросов на включение внесенных изменений, рекомендуется создать такой запрос с исправлением. В результате этого будет выполнена code scanning, проанализированы изменения, и система проведет тест, чтобы убедиться, что ваше исправление не создает новых проблем. Дополнительные сведения см. в разделах Настройка сканирования кода и Рассмотрение оповещений проверки кода в запросах на вытягивание.
Если у вас есть разрешение на запись для репозитория, чтобы просмотреть исправленные оповещения, откройте сводку по оповещениям и нажмите кнопку Закрытые. Дополнительные сведения см. в разделе "Просмотр оповещений для репозитория". В списке "Закрытые" отображаются исправленные оповещения и оповещения, отклоненные пользователями.
С помощью поиска произвольного текста или фильтров можно отобразить подмножество оповещений и отметить все подходящие как закрытые.
Оповещения могут быть исправлены в одной ветви, но не в другой. Чтобы проверить, исправлено ли оповещение в определенной ветви, используйте "Ветвь" в сводке по оповещениям.
Закрытие или удаление оповещений
Закрыть оповещение можно двумя способами. Можно устранить проблему в коде или отклонить оповещение. Кроме того, если у вас есть разрешения администратора для репозитория, вы можете удалить оповещения. Удаление оповещений полезно в ситуациях, когда вы настроили инструмент "code scanning", а затем решили удалить его или если вы настроили анализ CodeQL с большим числом запросов, часть которых перестала быть нужной, после чего удалили некоторые запросы из средства. В обоих случаях удаление оповещений позволяет сократить число результатов функции "code scanning". Оповещения можно удалить из сводного списка на вкладке Безопасность.
Отклонение используется для закрытия оповещений, не требующих исправления. Например, когда есть ошибка в коде, который используется только для тестирования, или когда усилия по исправлению ошибки больше потенциального преимущества улучшения кода. Отклонить оповещения можно в заметках функции "code scanning" в коде или в сводном списке на вкладке Безопасность.
Когда оповещение отклоняется:
- оно отклоняется во всех ветвях;
- оно удаляется из текущих оповещений проекта;
- оно перемещается в список "Закрытые" в сводке по оповещениям, где при необходимости его можно открыть заново;
- Причина, по которой было закрыто оповещение, записывается.
- при следующем запуске функции "code scanning" для того же кода оповещение не создается.
При удалении оповещения:
- оно удаляется во всех ветвях;
- оно удаляется из текущих оповещений проекта;
- оно не добавляется в список "Закрытые" в сводке оповещений;
- если код, для которого было создано оповещение, остается неизменным, и то же средство " code scanning" запускается снова без изменений конфигурации, оповещение снова появится в результатах анализа.
Чтобы закрыть или удалить оповещения, сделайте следующее:
-
На экземпляр GitHub Enterprise Server перейдите на главную страницу репозитория. 1. Под именем репозитория щелкните Безопасность. Если вкладка "Безопасность" не отображается, выберите раскрывающееся меню и выберите пункт Безопасность.
1. На левой боковой панели щелкните Оповещения о проверке кода. -
Если у вас есть разрешения администратора для репозитория и вы хотите удалить оповещения для этого средства "code scanning", установите некоторые или все флажки и нажмите кнопку Удалить.
При необходимости с помощью поиска произвольного текста или фильтров можно отобразить подмножество оповещений и одновременно удалить все соответствующие оповещения. Например, если вы удалили запрос из анализа CodeQL, с помощью фильтра "Правило" можно показать только оповещения для этого запроса, а затем выбрать и удалить все эти оповещения.
-
Если вы хотите отклонить оповещение, важно сначала изучить его, чтобы выбрать правильную причину отклонения. Щелкните оповещение, которое нужно изучить.
-
Просмотрите оповещение, а затем нажмите Отклонить и выберите причину отклонения оповещения.
Важно выбрать соответствующую причину в раскрывающемся меню, так как это может влиять на то, будет ли запрос включен в будущий анализ.Если вы закрываете оповещение CodeQL как ложное срабатывание, например, поскольку в коде используется библиотека очистки, которая не поддерживается, рассмотрите возможность добавления CodeQL в репозиторий и улучшение анализа. Дополнительные сведения о CodeQL см. в разделе "Участие в улучшении CodeQL."
Отклонение нескольких оповещений одновременно
Если в проекте есть несколько оповещений, которые нужно отклонить по одной причине, в сводке по оповещениям их можно отклонить все сразу. Как правило, необходимо отфильтровать список, а затем отклонить все подходящие оповещения. Например, может потребоваться отклонить все текущие оповещения в проекте, имеющие отметку определенной уязвимости CWE.
Аудит ответов на оповещения code scanning
You can audit the actions taken in response to code scanning alerts using GitHub tools. For more information, see "Аудит оповещений системы безопасности."