Очень долгое время не хватало ресурса, где можно было бы выложить общие правила или вспомогательные функции и почерпнуть немного новых идей. Этот репозиторий предназначен для обмена опытом по написанию правил на языке CxQL.
Все правила, которые находятся в нём, имеют общий характер, расширяют возможности системы и могут быть применены для любых проектов, без привязке к специфике. Также, можно изменять правила под специфику ваших приложений, добавляя и расширяя перечень используемых имён переменных, библиотек и других особенностей.
Структура разбита по языкам, как и в самом инструменте. Практически каждая строка в правилах будет прокомментирована для лучшего понимания того, что происходит и как работает язык CxQL.
На данный момент репозиторий содержит:
-
сommon
General_privacy_violation_list
- override дефолтного правила и добавление нескольких дополнительных переменных для поиска
-
CSharp
Find_Hardcoded_Passwords
- Поиск паролей в коде, которые заданы в качестве параметров функций по умолчанию.Use_Hardcoded_Encryption_Key
- поиск ключей шифрования в коде, которые заданы массивом байтов.
-
Java
android
Activity_Task_Hijacking
- поиск подверженных уязвимости Task Hijacking компонент приложенияCleartexTraffic_Enabled_True
- проверка сетевых настроек, разрешающих взаимодействие по HTTPInsecure_Network_Configuration_CleartexTraffic_Permitted_True
- Второе правило для проверки сетевых настроек, разрешающих взаимодействие по HTTPNon_System_Trust_Anchors
- проверка корректности настройки доверия сертификатамProGuard_Obfuscation_Not_In_Use
- очистка от ложных срабатываний базового правила, если в проекте присутствуют файлы сборки для библиотекUsing_Cert_From_Assets
- использование сертификатов из ресурсов приложения
general
Find_Android_Log_Outputs.txt
- добавлена поддержка библиотек Timber и Loggi для логированияFind_Android_Outputs.txt
- добавлена поддержка библиотек Timber и Loggi для логированияFind_Android_Read.txt
- добавлена поддержка методаgetInputData
для WorkManager
-
JavaScript
Lodash-CVE
- поиск использования в коде уязвимых методов в библиотеке Lodash
-
kotlin
Sensitive_Data_Exposure
- доработка правила для поиска sensitive данныхUsing_Cert_From_Assets
- использование сертификатов из ресурсов приложения
-
Objective-C
Sensitive_Info_In_Plist.txt
- поиск sensitive данных в файлах формата .plist
-
Scala
Possible_SQL_Injection
- Поиск использования Splicing Literal Values в библиотеке slick