Android получает библиотеку, которая добавляет активы - оповещение безопасности Google - PullRequest
0 голосов
/ 15 октября 2019

Наше приложение получило сообщение от Google Playstore о небезопасных активах:

there is jquery in our app

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

Наш список зависимостей gradle выглядит следующим образом:

implementation 'com.google.android.material:material:1.1.0-alpha09'
implementation 'androidx.annotation:annotation:1.1.0'
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.browser:browser:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2'
implementation 'net.sf.trove4j:trove4j:3.0.3'
implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
kapt "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"
kapt "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"
api "com.github.Raizlabs.DBFlow:dbflow-kotlinextensions:${dbflow_version}@aar"
api "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}"
api "com.github.Raizlabs.DBFlow:dbflow:${dbflow_version}"
implementation 'net.danlew:android.joda:2.10.2'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.squareup.retrofit2:retrofit:2.6.1'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0'
implementation 'io.github.inflationx:calligraphy3:3.1.1'
implementation 'io.github.inflationx:viewpump:2.0.3'
implementation 'org.jetbrains:annotations:17.0.0'
implementation('com.github.afollestad.material-dialogs:core:0.8.6.2@aar') { transitive = true }
implementation 'com.github.tiagohm.MarkdownView:library:0.19.0'
implementation 'com.opencsv:opencsv:4.6'
implementation 'com.nulab-inc:zxcvbn:1.2.5'
implementation 'io.jsonwebtoken:jjwt:0.9.1'
implementation 'com.balysv:material-ripple:1.0.2'
implementation 'com.github.anrwatchdog:anrwatchdog:1.3.0'
implementation 'com.udojava:EvalEx:1.18'
implementation 'com.vanniktech:emoji-ios:0.5.1'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'com.airbnb.android:lottie:3.1.0'
implementation 'com.google.android.exoplayer:exoplayer:2.10.3'
implementation 'io.smooch:core:6.2.2'
implementation 'io.smooch:ui:6.2.2'
implementation 'com.journeyapps:zxing-android-embedded:3.6.0'
implementation 'com.google.zxing:core:3.3.0'
implementation "androidx.lifecycle:lifecycle-runtime:2.0.0"
kapt "androidx.lifecycle:lifecycle-common-java8:2.0.0"
implementation "androidx.lifecycle:lifecycle-extensions:2.0.0"
implementation 'com.romandanylyk:pageindicatorview:1.0.3'
implementation 'net.hockeyapp.android:HockeySDK:5.1.0'
implementation('com.crashlytics.sdk.android:crashlytics:2.9.8@aar') {
    transitive = true
}
releaseImplementation 'com.appsflyer:af-android-sdk:4+@aar'
releaseImplementation 'com.google.firebase:firebase-messaging:18.0.0'
implementation 'com.google.firebase:firebase-core:16.0.9'
implementation 'com.google.firebase:firebase-appindexing:17.1.0'
implementation 'com.google.android.gms:play-services-ads:16.0.0'
releaseImplementation 'com.amplitude:android-sdk:2.19.1'
implementation 'me.bendik.simplerangeview:simplerangeview:0.2.0'
implementation('io.branch.sdk.android:library:2.+') {
    exclude module: 'answers-shim'
}    
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
implementation 'com.7heaven.widgets:segmentcontrol:1.17'

Я знаю, что это большой список, но послевсе, кажется, ничего из этого не имеет отношения к jquery, и мы делаем не больше, чем отправку документов json.

Я создал дерево зависимостей, но не смог найти ничего очевидного.

Вопрос:

Есть ли способ найти библиотеку, которая добавляет эти документы в папку активов?

Я надеялся на что-то вроде слияния манифестаэто показывает, что откуда.

Спасибо!

1 Ответ

1 голос
/ 15 октября 2019

Вам необходимо отсканировать приложение на наличие уязвимостей сторонних разработчиков, так как оно распространяется в ваше приложение от сторонних разработчиков.

Обычно для приложений Java помогает проверка зависимостей OWASP, а для Android инструмент доступен в виде плагина Gradle, зависимой проверки-gradle, а также командной строки и Maven. Это делает его невероятно простым для реализации в вашем проекте.

Некоторые шаги, которые помогут вам, описаны ниже.

Шаг 1 - Добавьте зависимость к своему корню build.gradle

Плагин зависимой проверки-градала появляется в maven central, поэтому вам нужно убедиться, что он доступен, если его еще нет.

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath 'org.owasp:dependency-check-gradle:4.0.0'
}
}

Шаг 2 - Применить плагин к вашему приложению/build.gradle

Для простейшей реализации вам просто нужно применить плагин.

apply plugin: 'org.owasp.dependencycheck'

Шаг 3 - Запустить плагин

Запуск плагина так же прост, как выполнение следующей команды в командной строке, которая сгенерирует отчет в формате HTML.

./gradlew dependencyCheckAnalyze

Шаг 4 - Анализ результатов

Приложение выводит отчет в формате HTML на app/build/reports/dependency-check-report.html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...