安全分析报告: Equitas v1.0.1

安全分数


安全分数 59/100

风险评级


等级

  1. A
  2. B
  3. C
  4. F

严重性分布 (%)


隐私风险

0

用户/设备跟踪器


调研结果

高危 1
中危 7
信息 2
安全 2
关注 0

高危 App 链接 assetlinks.json 文件未找到

[android:name=com.equitas.mobile.MainActivity][android:host=https://equitas.site]
App Link 资产验证 URL (https://equitas.site/.well-known/assetlinks.json) 未找到或配置不正确。(状态代码:None)。应用程序链接允许用户从 Web URL/电子邮件重定向到移动应用程序。如果此文件丢失或为 App Link 主机/域配置不正确,则恶意应用程序可以劫持此类 URL。这可能会导致网络钓鱼攻击,泄露 URI 中的敏感数据,例如 PII、OAuth 令牌、魔术链接/密码重置令牌等。您必须通过托管 assetlinks.json 文件并通过 Activity intent-filter 中的 [android:autoVerify=“true”] 启用验证来验证 App Link 网域。

中危 Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) 受权限保护, 但是应该检查权限的保护级别。

Permission: com.google.android.c2dm.permission.SEND [android:exported=true]
发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据

应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#external-storage

Files:
com/capacitorjs/plugins/camera/CameraUtils.java, line(s) 19
com/capacitorjs/plugins/filesystem/Filesystem.java, line(s) 166,168,175
com/getcapacitor/BridgeWebChromeClient.java, line(s) 458
com/getcapacitor/FileUtils.java, line(s) 90

中危 应用程序创建临时文件。敏感信息永远不应该被写进临时文件

应用程序创建临时文件。敏感信息永远不应该被写进临时文件


Files:
com/capacitorjs/plugins/camera/CameraUtils.java, line(s) 19
com/getcapacitor/BridgeWebChromeClient.java, line(s) 458
com/getcapacitor/community/database/sqlite/SQLite/UtilsSQLCipher.java, line(s) 31,58
com/tchvu3/capacitorvoicerecorder/CustomMediaRecorder.java, line(s) 37

中危 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等

文件可能包含硬编码的敏感信息,如用户名、密码、密钥等
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#checking-memory-for-sensitive-data-mstg-storage-10

Files:
com/getcapacitor/AppUUID.java, line(s) 11
com/getcapacitor/Bridge.java, line(s) 59,58,60,61
com/getcapacitor/Plugin.java, line(s) 33
com/getcapacitor/community/database/sqlite/SQLite/GlobalSQLite.java, line(s) 5,4
com/tchvu3/capacitorvoicerecorder/ResponseGenerator.java, line(s) 6,7

中危 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库

应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04h-Testing-Code-Quality.md#injection-flaws-mstg-arch-2-and-mstg-platform-2

Files:
net/sqlcipher/database/SQLiteDatabase.java, line(s) 1594,1613,901,908,915,930,987,1404,1562,1566,1748,1758

中危 SHA-1是已知存在哈希冲突的弱哈希

SHA-1是已知存在哈希冲突的弱哈希
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4

Files:
com/getcapacitor/community/database/sqlite/SQLite/ImportExportJson/UtilsEncryption.java, line(s) 69

中危 此应用可能包含硬编码机密信息

从应用程序中识别出以下机密确保这些不是机密或私人信息
"google_api_key" : "AIzaSyApXBTZT2vD8ZBlrkLD9HfmXFX7SopbeJk"
"google_app_id" : "1:834539345585:android:05f161fc81340516ac7490"
"google_crash_reporting_api_key" : "AIzaSyApXBTZT2vD8ZBlrkLD9HfmXFX7SopbeJk"
"library_android_database_sqlcipher_authorWebsite" : "https://www.zetetic.net/sqlcipher/"

信息 应用程序记录日志信息,不得记录敏感信息

应用程序记录日志信息,不得记录敏感信息
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#logs

Files:
com/getcapacitor/Logger.java, line(s) 49,83,59,39,69
com/getcapacitor/community/database/sqlite/CapacitorSQLite.java, line(s) 99,106,190,198,139
com/getcapacitor/community/database/sqlite/CapacitorSQLitePlugin.java, line(s) 47,1165
com/getcapacitor/community/database/sqlite/RetHandler.java, line(s) 25,42,50,62,74,86,107,124
com/getcapacitor/community/database/sqlite/SQLite/Database.java, line(s) 1015,1024,85,118,136,155,184,198,227,238,248,255,262,291,304,83
com/getcapacitor/community/database/sqlite/SQLite/ImportExportJson/JsonColumn.java, line(s) 126
com/getcapacitor/community/database/sqlite/SQLite/ImportExportJson/JsonIndex.java, line(s) 102
com/getcapacitor/community/database/sqlite/SQLite/ImportExportJson/JsonSQLite.java, line(s) 149,163,169,191,192,193,194,195,196,202
com/getcapacitor/community/database/sqlite/SQLite/ImportExportJson/JsonTable.java, line(s) 176,177,182,187,192,195
com/getcapacitor/community/database/sqlite/SQLite/ImportExportJson/JsonTrigger.java, line(s) 118
com/getcapacitor/community/database/sqlite/SQLite/ImportExportJson/JsonView.java, line(s) 78
com/getcapacitor/community/database/sqlite/SQLite/UtilsBiometric.java, line(s) 32,36,39,42
com/getcapacitor/community/database/sqlite/SQLite/UtilsDownloadFromHTTP.java, line(s) 98
com/getcapacitor/community/database/sqlite/SQLite/UtilsDrop.java, line(s) 82,94,118,142,165,170,182,207
com/getcapacitor/community/database/sqlite/SQLite/UtilsFile.java, line(s) 200,210,216,229,233,237,242,245,252,257,125
com/getcapacitor/community/database/sqlite/SQLite/UtilsUpgrade.java, line(s) 14,19
net/sqlcipher/AbstractCursor.java, line(s) 237
net/sqlcipher/BulkCursorToCursorAdaptor.java, line(s) 49,97,138,164,175,185,203,108,119,223
net/sqlcipher/DatabaseUtils.java, line(s) 63,72,593,661
net/sqlcipher/DefaultDatabaseErrorHandler.java, line(s) 12,14,18,28,32
net/sqlcipher/database/SQLiteCompiledSql.java, line(s) 46,59,66,77
net/sqlcipher/database/SQLiteContentHelper.java, line(s) 25
net/sqlcipher/database/SQLiteDatabase.java, line(s) 372,942,950,970,981
net/sqlcipher/database/SQLiteDebug.java, line(s) 7,8,9,10,11,12
net/sqlcipher/database/SQLiteOpenHelper.java, line(s) 169,190
net/sqlcipher/database/SQLiteProgram.java, line(s) 67,73
net/sqlcipher/database/SQLiteQuery.java, line(s) 42
net/sqlcipher/database/SQLiteQueryBuilder.java, line(s) 135,134
net/sqlcipher/database/SqliteWrapper.java, line(s) 34,44,54,64,74

信息 此应用程序使用SQL Cipher。SQLCipher为sqlite数据库文件提供256位AES加密

此应用程序使用SQL Cipher。SQLCipher为sqlite数据库文件提供256位AES加密


Files:
com/getcapacitor/community/database/sqlite/SQLite/Database.java, line(s) 89,26,27,28
com/getcapacitor/community/database/sqlite/SQLite/UtilsSQLCipher.java, line(s) 29,56,82,7,8,9,10,11
net/sqlcipher/database/SupportHelper.java, line(s) 12,1

安全 Firebase远程配置已禁用

Firebase远程配置URL ( https://firebaseremoteconfig.googleapis.com/v1/projects/834539345585/namespaces/firebase:fetch?key=AIzaSyApXBTZT2vD8ZBlrkLD9HfmXFX7SopbeJk ) 已禁用。响应内容如下所示:

{
    "state": "NO_TEMPLATE"
}

安全 此应用程序没有隐私跟踪程序

此应用程序不包括任何用户或设备跟踪器。在静态分析期间没有找到任何跟踪器。

安全评分: ( Equitas 1.0.1)