О code scanning ограничения на результаты SARIF
# SARIF results exceed soft limits
Locations for an alert exceeded limits
Analysis SARIF file exceeded alert limits
Rule tags in SARIF file exceed limits
Alert in SARIF upload exceeded thread flow location limits
# SARIF results exceed hard limit
Alert(s) in SARIF file exceeded thread flow location limits
Analysis SARIF file rejected due to extension limits
Analysis SARIF file rejected due to location limit
Analysis SARIF file rejected due to rule tag limits
Analysis SARIF file rejected due to result limits
Analysis SARIF file rejected due to rule limits
Analysis SARIF file rejected due to run limits
Code scanning задает два типа ограничений полей в файлах результатов SARIF.
- Обратимые ограничения, определяющие, сколько данных хранится и отображается пользователям.
- Жесткие ограничения, определяющие максимальный объем данных, принятых для обработки.
Эти ошибки могут отображаться для ФАЙЛОВ SARIF, созданных CodeQL или сторонними средствами анализа.
Данные SARIF | Максимальные значения | Ограничения отображения |
---|---|---|
Выполняется для каждого файла | 20 | нет |
Результаты на выполнение | 25,000 | Будут включены только первые 5000 результатов, приоритетные по серьезности. |
Правила для каждого запуска | 25,000 | нет |
Расширения инструментов для каждого запуска | 100 | нет |
Расположения потоков на результат | 10,000 | Будут включены только первые 1000 расположений потоков, используя приоритет. |
Расположение на результат | 1,000 | Будут включены только 100 расположений. |
Теги для каждого правила | 20 | Будут включены только 10 тегов. |
Сведения о проверке ФАЙЛА SARIF см. в разделе "Поддержка SARIF для проверки кода".
Исправление ошибок обратимого ограничения
При превышении мягких ограничений code scanning отображает сведения о самом высоком приоритете. Часто вам не нужно вносить изменения в конфигурацию code scanning. По мере того как команда исправляет оповещения, количество результатов, сообщаемых в каждом запуске, уменьшится до тех пор, пока они не находятся в пределах мягких ограничений и отображаются все результаты. Кроме того, можно использовать подходы, описанные для ошибок жесткого ограничения.
Исправление ошибки "Анализ SARIF-файла отклонен из-за ограничений результатов"
Существует множество рекомендаций и потенциальных решений по сокращению числа результатов, включенных в файл результатов SARIF. Инструкции см. в разделе "Файл результатов SARIF слишком велик".
Исправление "Оповещения в SARIF-файле превысили ограничения расположения потока потока"
Вы можете настроить анализ, чтобы ограничить количество путей потока данных, включенных в результаты. По умолчанию для каждого результата включены 4 пути потока данных.
-
Расширенная настройка CodeQL для code scanning: обновите
analyze
шаг, чтобы ограничить количество путей не более одного или нуля.- name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3@v2 env: CODEQL_ACTION_EXTRA_OPTIONS: '{"database":{"interpret-results":["--max-paths", 1]}}'
-
CodeQL CLI
database analyze
: обновите команду анализа базы данных, чтобы включить--max-paths=1
флаг. Дополнительные сведения см. в разделе анализ базы данных.
Примечание. Параметр max-paths
влияет на результаты всех запросов потока данных.
Исправление "Анализ SARIF-файла отклонен из-за ограничений выполнения"
Самый простой подход заключается в создании нового ФАЙЛА SARIF для каждого запуска и отправки каждого файла отдельно. Вы добавляете "категорию" в каждый результат, и это позволяет code scanning хранить и отображать результаты соответствующим образом. Дополнительные сведения см. в разделе Поддержка SARIF для проверки кода.
Исправление "Анализ SARIF-файла отклонен из-за ограничений правил"
Здесь есть два возможных подхода.
- Уменьшите количество правил, используемых для анализа кода. Дополнительные сведения см. в разделе "Определение набора запросов для выполнения" и "Исключение запроса из анализа" в файле результатов SARIF слишком большой.
- Дважды запустите анализ, каждый раз с другим набором правил и отправьте оба файла результатов в code scanning. Дополнительные сведения см. в разделе Поддержка SARIF для проверки кода.
Исправление ошибки "Анализ SARIF-файла отклонен из-за ограничений расширения"
Самый простой подход заключается в создании отдельного ФАЙЛА SARIF при каждом запуске средства и отправке каждого файла отдельно. Кроме того, вам может потребоваться связаться с обслуживающим средством. Дополнительные сведения см. в разделе Поддержка SARIF для проверки кода.
Анализ CodeQL не должен генерировать эту ошибку. Если при использовании действия CodeQL или CodeQL CLI, обратитесь к Служба поддержки GitHub, чтобы сообщить нам об этом. Дополнительные сведения см. в разделе Обращение в службу поддержки GitHub.
Исправление "Анализ SARIF-файла отклонен из-за ограничения расположения"
Лучший способ устранить эту проблему обычно заключается в том, чтобы определить запрос, который сообщает слишком много расположений и исключить его из анализа. Сведения о том, как это сделать, см. в разделе "Файл результатов SARIF слишком велик".
Исправление ошибки "Анализ SARIF-файла отклонен из-за ограничений тегов правил"
Необходимо обновить ФАЙЛ SARIF или генератор, чтобы массив тегов, сообщаемых для каждого reportingDescriptor
объекта, был меньше 10. Дополнительные сведения см. в разделе properties.tags[]
"Поддержка SARIF для проверки кода".