Skip to main content

Запросы Java и Kotlin для анализа CodeQL

Изучите запросы, которые CodeQL используются для анализа кода, написанного на Java или Kotlin при выборе default или security-extended наборе запросов.

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

Code scanning доступен для репозиториев, принадлежащих организации, в GitHub Enterprise Server. Для этой функции требуется лицензия на GitHub Advanced Security. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

CodeQL содержит множество запросов для анализа кода Java и Kotlin. Все запросы в наборе default запросов выполняются по умолчанию. Если вы решили использовать security-extended набор запросов, выполняются дополнительные запросы. Дополнительные сведения см. в разделе Наборы запросов CodeQL.

Примечание. Анализ CodeQL для Kotlin в настоящее время находится в бета-версии. Во время бета-версии анализ Kotlin будет менее комплексным, чем анализ CodeQL других языков.

Встроенные запросы для анализа Java и Kotlin

В этой таблице перечислены запросы, доступные в последнем выпуске действия CodeQL и CodeQL CLI. Дополнительные сведения см. в разделе CodeQL журналов изменений на сайте документации CodeQL документации.

Примечание. Первоначальный выпуск GitHub Enterprise Server 3.12 включал действие CodeQL и CodeQL CLI 2.15.5, которые могут не включать все эти запросы. Администратор сайта может обновить версию CodeQL до более новой версии. Дополнительные сведения см. в разделе Настройка сканирования кода для устройства.

Имя запросаСвязанные CWEsПо умолчанию.РасширенноеАвтофикс
TrustManager , принимающее все сертификаты295
Android WebView , принимающее все сертификаты295
Отладчик с поддержкой атрибута Android489
Внедрение фрагментов Android470
Внедрение фрагментов Android в PreferenceActivity470
Перенаправление намерений Android926, 940
Включена отладка Веб-представления Android489
Произвольный доступ к файлам во время извлечения архива (Zip Slip)022
Создание командной строки с объединением строк078, 088
Хранилище конфиденциальной информации в файле cookie с помощью Cleartext315
Межстраничное скриптирование079
В зависимости от JCenter/Bintray в качестве репозитория артефактов1104
Десериализация управляемых пользователем данных502
Обнаружение уязвимости генератора JHipster CVE-2019-16303338
Отключена проверка заголовка HTTP Netty93, 113
Отключенная защита Spring CSRF352
Внедрение языка выражений (JEXL)094
Внедрение языка выражений (MVEL)094
Внедрение языка выражений (Spring)094
Сбой использования URL-адреса HTTPS или SFTP в maven artifact upload/download300, 319, 494, 829
Неиспользование безопасных файлов cookie614
Внедрение языка Groovy094
Разделение ответа HTTP113
Неявное сужение преобразования в составном назначении190, 192, 197, 681
Неявно экспортируемый компонент Android926
Неправильное подтверждение намерения получателем трансляции925
Неэффективное регулярное выражение1333, 730, 400
Раскрытие информации с помощью трассировки стека209, 497
Небезопасная проверка bean094
Небезопасная проверка подлинности LDAP522, 319
Небезопасная локальная проверка подлинности287
Небезопасная случайность330, 338
Обработка разрешений URI намерения266, 926
Поиск JNDI с управляемым пользователем именем074
Запрос LDAP, созданный из управляемых пользователем источников090
Отсутствует проверка подписи JWT347
Оператор языка выражений OGNL с пользовательскими входными данными917
Чрезмерно допустимый диапазон регулярных выражений020
Частичный обход уязвимостей пути из удаленного доступа0,23
Многономиальное регулярное выражение, используемое для неконтролируемых данных1333, 730, 400
Запрос, созданный из управляемых пользователем источников089, 564
Чтение из файла, доступного для записи732
Внедрение регулярных выражений730, 400
Разрешение внешней сущности XML в управляемых пользователем данных611, 776, 827
Подделка запроса на стороне сервера918
Внедрение шаблона на стороне сервера1336, 094
Неконтролируемая командная строка078, 088
Неконтролируемые данные, используемые в разрешении содержимого441, 610
Неконтролируемые данные, используемые в выражении пути022, 023, 036, 073
Небезопасная проверка имени узла297
URL-адрес пересылки из удаленного источника552
Перенаправление URL-адресов из удаленного источника601
Использование неисправного или рискованного алгоритма шифрования327, 328
Использование алгоритма шифрования с недостаточным размером ключа326
Использование прогнозируемого начального значения в безопасном генераторе случайных чисел335, 337
Использование строки форматирования с внешним контролем134
Использование неявных ожиданийIntents927
Использование алгоритма RSA без OAEP780
Управляемые пользователем данные в числовом приведение197, 681
Контролируемые пользователем данные, используемые в проверке разрешений807, 290
Использование статического вектора инициализации для шифрования329, 1204
Внедрение XPath643
Преобразование XSLT с пользовательской таблицей стилей074
Доступ к методам объектов Java с помощью воздействия JavaScript079
Установка ANDROID APK094
Закрепление сертификатов в Android295
Кэш конфиденциальной клавиатуры Android524
Доступ к файлам Android WebSettings200
Параметры JavaScript для Android WebView079
Параметры Android WebView позволяют получить доступ к ссылкам на содержимое200
Разрешено резервное копирование приложений312
Создание команды с внедренной переменной среды078, 088, 454
Хранилище конфиденциальной информации в файловой системе Android312
Хранение конфиденциальной информации с помощью класса Properties313
Хранилище конфиденциальных данных с помощью Cleartext в SharedPreferences Android312
Хранилище конфиденциальной информации с помощью локальной базы данных в Android312
Сравнение узкого типа с широким типом в условии цикла190, 197
Выполнение команды с относительным путем078, 088
Воздействие конфиденциальной информации на уведомления200
Раскрытие конфиденциальной информации в представлениях текста пользовательского интерфейса200
Жестко закодированные учетные данные в вызове API798
Неправильная проверка индекса массива, предоставленного пользователем129
Неправильная проверка предоставленного пользователем размера, используемого для построения массива129
Небезопасная обычная проверка подлинности522, 319
Небезопасная конфигурация SSL JavaMail297
Небезопасно созданные ключи для локальной проверки подлинности287
Вставка конфиденциальной информации в файлы журнала532
Утечка конфиденциальной информации через ResultReceiver927
Утечка конфиденциальной информации с помощью неявного намерения927
Раскрытие локальной информации во временном каталоге200, 732
Внедрение журнала117
Цикл с неустранимым условием выхода835
Отсутствует разрешение на чтение или запись в поставщике содержимого926
Уязвимость с частичным путем обхода0,23
Запрос, созданный путем объединения с возможно ненадежной строкой089, 564
Состояние гонки в проверке подлинности сокета421
Время проверки времени использования состояния гонки367
Нарушение границ доверия501
Неконтролируемые данные в арифметическом выражении190, 191
Нераспрестанная блокировка764, 833
Небезопасное доверие к сертификату273
Небезопасное получение ресурсов в Android WebView749, 079
Использование потенциально нарушенного или рискованного алгоритма шифрования327, 328
Использование потенциально опасной функции676
Управляемый пользователем обход конфиденциального метода807, 290
Управляемые пользователем данные в арифметическом выражении190, 191