0/63

Threat

com.virginpulse.virginpulse

Virgin Pulse

Analyzed on 2021-09-03T11:56:48.738163

26

permissions

26

activities

21

services

16

receivers

80

domains

File sums

MD5 be687edbcae4ead5692785aaafe00f97
SHA1 1bf9868f40b36fc8878b915fd6c92fa031e03792
SHA256 ea11b43289755de735ea454c494f1faffad4d247eb0356751f5452a440aba3d0
Size 26.04MB

APKiD

Information computed with APKiD.

/tmp/tmpniix9z_g!classes.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MODEL check
  • Build.MANUFACTURER check
  • Build.PRODUCT check
  • Build.HARDWARE check
  • Build.TAGS check
anti_debug
  • Debug.isDebuggerConnected() check
compiler
  • r8
/tmp/tmpniix9z_g!classes2.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MODEL check
  • Build.MANUFACTURER check
  • Build.PRODUCT check
  • Build.HARDWARE check
  • Build.BOARD check
  • possible Build.SERIAL check
  • Build.TAGS check
  • SIM operator check
  • network operator name check
  • possible ro.secure check
compiler
  • r8 without marker (suspicious)
/tmp/tmpniix9z_g!classes3.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MODEL check
  • Build.MANUFACTURER check
  • possible Build.SERIAL check
compiler
  • r8 without marker (suspicious)

SSdeep

Information computed with ssdeep.

APK file 393216:t6KkKpq9XKjJ0y7B2usofakQHrDKOLML8Za8E4ruz8qzVskwnjB20:tk8qlKjayd2unQX7LMIuzJVsXjU0
Manifest 768:ZTzNh9K6/jxmiPKS/UQt9o9O6pgLJjbl7y/bGAatOJ+JpcKx9kCMKbnPRfrnNWJM:…
classes.dex 98304:4Cma+qo/Wlrj0ptmR3VZiK62UzV3oO1ir9AUBMeV4Xn:4ba+qNRnIir9AUBMeVcn
classes2.dex 98304:BaZec+18wbU6rTFuA7c5k0FJo77dq1h9YqrPQFB18H:B1c+ywfTk4OJX39YqrPQ…
classes3.dex 98304:a+dKPjIjOjhn5ZNZXIyJIC7CEkhkxCdfP4ZoJcdmzGeeqegi82C7dsulTAfhy2:…

Dexofuzzy

Information computed with Dexofuzzy.

APK file 24576:rtSvHjT89xnvR2kaK3Hwlglcp6TZqoMDpJ3:hSvvCy
classes.dex 6144:qqH4YeumTAQh22tZWKcQ/dD0z5K9Z5lt8w+qANTxNdFsMNoib2mDBL4pxojswl5H…
classes2.dex 6144:6cEStRLUNzX/VFxAcUtXfZ/DT5J6hJfDm6Trg479rDeyCelETroFtz:wS0NzX/7x…
classes3.dex 6144:f620HjRjZAtoCZBBaSNINeM7qevF/67oEHOkyAqTq9Olw0gdmWKjaJySFVqTefAO…

APK details

Information computed with AndroGuard and Pithus.

Package com.virginpulse.virginpulse
App name Virgin Pulse
Version name 3.163.0
Version code 30435
SDK 23 - 29
UAID 81721ad57cfd41ccd259ca68ad58eea6ba889baf
Signature Signature V1 Signature V2
Frosting Frosted
Blocks found within V2 signature:
  • 0x7109871a: Unknown
  • 0x42726577: Verity padding
  • 0x2146444e: Google metadata

Certificate details

Information computed with AndroGuard.

MD5 665775654a8a0ebb2368fc9096630421
SHA1 4543f102d1b4ebab317af5c6b56c769b184e740d
SHA256 0ec227c85f48068c04a233030e5d57a15213f395cba189ad6822213877107c51
Issuer Organization: Virgin Pulse
Not before 2014-01-29T20:28:43+00:00
Not after 2114-01-05T20:28:43+00:00

File Analysis

Information computed with MobSF.

Findings Files
Certificate/Key files hardcoded inside the app. okhttp3/internal/publicsuffix/NOTICE

Manifest analysis

Information computed with MobSF.

Low Service (com.virginpulse.buzz.buzzdevice.BuzzDeviceService) is Protected by a permission.
Permission: com.virginpulse.virginpulse.permission.service.INTERNAL_SERVICE
protectionLevel: signature[android:exported=true]
A Service is found to be exported, but is protected by permission.
Low Broadcast Receiver (com.virginpulse.genesis.receiver.CallReceiver) is Protected by a permission.
Permission: com.virginpulse.virginpulse.permission.receiver.VIRGINPULSE_RECEIVER
protectionLevel: signature[android:exported=true]
A Broadcast Receiver is found to be exported, but is protected by permission.
High Broadcast Receiver (com.virginpulse.genesis.receiver.SMSReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.BROADCAST_SMS [android:exported=true]
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Activity (com.virginpulse.virginpulse.activity.ExternalLaunchActivity_) is not Protected.An intent-filter exists.
An Activity is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. The presence of intent-filter indicates that the Activity is explicitly exported.
Low Broadcast Receiver (com.virginpulse.genesis.receiver.card.DeviceBootReceiver) is Protected by a permission.
Permission: com.virginpulse.virginpulse.permission.receiver.VIRGINPULSE_RECEIVER
protectionLevel: signature[android:exported=true]
A Broadcast Receiver is found to be exported, but is protected by permission.
Low Service (com.virginpulse.report.firebase.GenesisFirebaseMessagingService) is Protected by a permission.
Permission: com.virginpulse.virginpulse.permission.service.INTERNAL_SERVICE
protectionLevel: signature[android:exported=true]
A Service is found to be exported, but is protected by permission.
Low Service (com.pusher.android.notifications.fcm.FCMMessagingService) is Protected by a permission.
Permission: com.virginpulse.virginpulse.permission.service.INTERNAL_SERVICE
protectionLevel: signature[android:exported=true]
A Service is found to be exported, but is protected by permission.
High Service (com.google.android.gms.auth.api.signin.RevocationBoundService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION [android:exported=true]
A Service is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.google.android.c2dm.permission.SEND [android:exported=true]
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Broadcast Receiver (com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.INSTALL_PACKAGES [android:exported=true]
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Broadcast Receiver (com.localytics.android.ReferralReceiver) is not Protected. [android:exported=true]
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device.
High Service (com.localytics.android.FirebaseTokenService) is not Protected. [android:exported=true]
A Service is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device.
High Service (com.localytics.android.FirebaseService) is not Protected. [android:exported=true]
A Service is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device.
High Broadcast Receiver (com.localytics.android.BootReceiver) is not Protected.An intent-filter exists.
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. The presence of intent-filter indicates that the Broadcast Receiver is explicitly exported.
High Service (com.localytics.android.BackgroundService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE [android:exported=true]
A Service is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Activity (com.mixpanel.android.mpmetrics.MixpanelNotificationRouteActivity) is not Protected.An intent-filter exists.
An Activity is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. The presence of intent-filter indicates that the Activity is explicitly exported.
Medium High Intent Priority (200)[android:priority]
By setting an intent priority higher than another intent, the app effectively overrides other requests.

Browsable activities

Information computed with MobSF.

com.virginpulse.virginpulse.activity.SplashActivity_

Hosts: open virginpulse.app.link virginpulse-alternate.app.link virginpulse.test-app.link virginpulse-alternate.test-app.link

Schemes: virginpulseapp:// https:// @string/localyticsScheme://

com.virginpulse.virginpulse.activity.ExternalLaunchActivity_

Hosts: www.vplaunchandroid.com

Schemes: virginpulseapp:// http://

Main Activity

Information computed with AndroGuard.

['com.virginpulse.genesis.activity.MainActivity_', 'com.virginpulse.genesis.activity.TermsAndConditionsActivity_', 'com.virginpulse.genesis.activity.MandatoryHRAActivity_', 'com.virginpulse.genesis.activity.TakeSurveyActivity_', 'com.virginpulse.genesis.activity.OnBoardingActivity_', 'com.virginpulse.genesis.activity.CelebrationsActivity_', 'com.virginpulse.genesis.activity.YoutubeActivity', 'com.virginpulse.genesis.activity.VideoActivity', 'com.virginpulse.genesis.activity.FeatureAnnouncementsActivity_', 'com.virginpulse.genesis.activity.FileStackActivity', 'com.virginpulse.genesis.activity.SurveyActivity_', 'com.virginpulse.genesis.activity.SurveyV2Activity_', 'com.localytics.android.PushTrackingActivity', 'com.virginpulse.virginpulse.activity.SplashActivity_', 'com.virginpulse.virginpulse.activity.LoginActivity_', 'com.virginpulse.virginpulse.activity.ExternalLaunchActivity_', 'com.virginpulse.genesis.activity.MaxGenesisActivity_', 'com.virginpulse.polaris.activity.PolarisMainActivity', 'com.virginpulse.vppassport.PassportActivity', 'com.filestack.android.FsActivity', 'com.google.android.gms.auth.api.signin.internal.SignInHubActivity', 'com.salesforce.marketingcloud.messages.iam.IamModalActivity', 'com.salesforce.marketingcloud.messages.iam.IamBannerActivity', 'com.salesforce.marketingcloud.messages.iam.IamFullscreenActivity', 'com.google.android.gms.common.api.GoogleApiActivity', 'com.mixpanel.android.mpmetrics.MixpanelNotificationRouteActivity']

Activities

Information computed with AndroGuard.

com.virginpulse.genesis.activity.MainActivity_
com.virginpulse.genesis.activity.TermsAndConditionsActivity_
com.virginpulse.genesis.activity.MandatoryHRAActivity_
com.virginpulse.genesis.activity.TakeSurveyActivity_
com.virginpulse.genesis.activity.OnBoardingActivity_
com.virginpulse.genesis.activity.CelebrationsActivity_
com.virginpulse.genesis.activity.YoutubeActivity
com.virginpulse.genesis.activity.VideoActivity
com.virginpulse.genesis.activity.FeatureAnnouncementsActivity_
com.virginpulse.genesis.activity.FileStackActivity
com.virginpulse.genesis.activity.SurveyActivity_
com.virginpulse.genesis.activity.SurveyV2Activity_
com.localytics.android.PushTrackingActivity
com.virginpulse.virginpulse.activity.SplashActivity_
com.virginpulse.virginpulse.activity.LoginActivity_
com.virginpulse.virginpulse.activity.ExternalLaunchActivity_
com.virginpulse.genesis.activity.MaxGenesisActivity_
com.virginpulse.polaris.activity.PolarisMainActivity
com.virginpulse.vppassport.PassportActivity
com.filestack.android.FsActivity
com.google.android.gms.auth.api.signin.internal.SignInHubActivity
com.salesforce.marketingcloud.messages.iam.IamModalActivity
com.salesforce.marketingcloud.messages.iam.IamBannerActivity
com.salesforce.marketingcloud.messages.iam.IamFullscreenActivity
com.google.android.gms.common.api.GoogleApiActivity
com.mixpanel.android.mpmetrics.MixpanelNotificationRouteActivity

Receivers

Information computed with AndroGuard.

com.virginpulse.genesis.receiver.CallReceiver
com.virginpulse.genesis.receiver.SMSReceiver
com.virginpulse.genesis.receiver.card.DeviceBootReceiver
com.virginpulse.genesis.receiver.card.DailyCardReceiver
com.virginpulse.genesis.receiver.challenge.ChallengeReminderReceiver
com.virginpulse.genesis.receiver.card.DailyCardAPIFetchReceiver
com.salesforce.marketingcloud.location.LocationReceiver
com.salesforce.marketingcloud.MCReceiver
com.google.firebase.iid.FirebaseInstanceIdReceiver
com.google.android.gms.measurement.AppMeasurementReceiver
com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver
com.localytics.android.ReferralReceiver
com.localytics.android.LocationUpdateReceiver
com.localytics.android.BootReceiver
com.mixpanel.android.mpmetrics.MixpanelPushNotificationDismissedReceiver
com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver

Services

Information computed with AndroGuard.

com.virginpulse.buzz.bluetooth.BuzzDeviceSyncService_
com.virginpulse.androidsteps.StepSyncJobSchedulerService_
com.virginpulse.buzz.buzzdevice.BuzzDeviceService
com.virginpulse.report.firebase.GenesisFirebaseMessagingService
com.pusher.android.notifications.fcm.FCMMessagingService
com.filestack.android.internal.UploadService
com.virginpulse.maxsynclib.maxsync.bluetooth.DeviceSyncService
com.google.android.gms.auth.api.signin.RevocationBoundService
com.salesforce.marketingcloud.MCService
com.salesforce.marketingcloud.NotificationOpenedService
com.salesforce.marketingcloud.messages.push.MCFirebaseMessagingService
com.google.firebase.messaging.FirebaseMessagingService
com.google.firebase.components.ComponentDiscoveryService
com.google.android.gms.measurement.AppMeasurementService
com.google.android.gms.measurement.AppMeasurementJobService
androidx.room.MultiInstanceInvalidationService
com.localytics.android.FirebaseTokenService
com.localytics.android.FirebaseService
com.localytics.android.BackgroundService
com.google.android.datatransport.runtime.backends.TransportBackendDiscovery
com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService

Sample timeline

Certificate valid not before Jan. 29, 2014, 8:28 p.m.
First submission on VT Nov. 23, 2020, 10:34 p.m.
Last submission on VT Nov. 23, 2020, 10:34 p.m.
Upload on Pithus Sept. 3, 2021, 11:56 a.m.
Certificate valid not after Jan. 5, 2114, 8:28 p.m.

NIAP analysis

Information computed with MobSF.

FCS_RBG_EXT.1.1 The application implement DRBG functionality for its cryptographic operations.
Random Bit Generation Services
FCS_STO_EXT.1.1 The application does not store any credentials to non-volatile memory.
Storage of Credentials
FCS_CKM_EXT.1.1 The application implement asymmetric key generation.
Cryptographic Key Generation Services
FDP_DEC_EXT.1.1 The application has access to ['location', 'bluetooth', 'network connectivity', 'camera'].
Access to Platform Resources
FDP_DEC_EXT.1.2 The application has access to ['call lists', 'address book'].
Access to Platform Resources
FDP_NET_EXT.1.1 The application has user/application initiated network communications.
Network Communications
FDP_DAR_EXT.1.1 The application implement functionality to encrypt sensitive data in non-volatile memory.
Encryption Of Sensitive Application Data
FMT_MEC_EXT.1.1 The application invoke the mechanisms recommended by the platform vendor for storing and setting configuration options.
Supported Configuration Mechanism
FTP_DIT_EXT.1.1 The application does encrypt some transmitted data with HTTPS/TLS/SSH between itself and another trusted IT product.
Protection of Data in Transit
FCS_RBG_EXT.2.1
FCS_RBG_EXT.2.2
The application perform all deterministic random bit generation (DRBG) services in accordance with NIST Special Publication 800-90A using Hash_DRBG. The deterministic RBG is seeded by an entropy source that accumulates entropy from a platform-based DRBG and a software-based noise source, with a minimum of 256 bits of entropy at least equal to the greatest security strength (according to NIST SP 800-57) of the keys and hashes that it will generate.
Random Bit Generation from Application
FCS_CKM.1.1(1) The application generate asymmetric cryptographic keys in accordance with a specified cryptographic key generation algorithm RSA schemes using cryptographic key sizes of 2048-bit or greater.
Cryptographic Asymmetric Key Generation
FCS_CKM.1.1(3)
FCS_CKM.1.2(3)
A password/passphrase shall perform [Password-based Key Derivation Functions] in accordance with a specified cryptographic algorithm..
Password Conditioning
FCS_COP.1.1(1) The application perform encryption/decryption not in accordance with FCS_COP.1.1(1), AES-ECB mode is being used.
Cryptographic Operation - Encryption/Decryption
FCS_COP.1.1(2) The application perform cryptographic hashing services not in accordance with FCS_COP.1.1(2) and uses the cryptographic algorithm RC2/RC4/MD4/MD5.
Cryptographic Operation - Hashing
FCS_HTTPS_EXT.1.1 The application implement the HTTPS protocol that complies with RFC 2818.
HTTPS Protocol
FCS_HTTPS_EXT.1.2 The application implement HTTPS using TLS.
HTTPS Protocol
FCS_HTTPS_EXT.1.3 The application notify the user and not establish the connection or request application authorization to establish the connection if the peer certificate is deemed invalid.
HTTPS Protocol
FIA_X509_EXT.1.1 The application invoked platform-provided functionality to validate certificates in accordance with the following rules: ['The certificate path must terminate with a trusted CA certificate'].
X.509 Certificate Validation
FIA_X509_EXT.2.1 The application use X.509v3 certificates as defined by RFC 5280 to support authentication for HTTPS , TLS.
X.509 Certificate Authentication
FPT_TUD_EXT.2.1 The application shall be distributed using the format of the platform-supported package manager.
Integrity for Installation and Update
FCS_CKM.1.1(2) The application shall generate symmetric cryptographic keys using a Random Bit Generator as specified in FCS_RBG_EXT.1 and specified cryptographic key sizes 128 bit or 256 bit.
Cryptographic Symmetric Key Generation

Code analysis

Information computed with MobSF.

Low
CVSS:7.5
The App logs information. Sensitive information should never be logged.
MASVS: MSTG-STORAGE-3
CWE-532 Insertion of Sensitive Information into Log File
Files:
 com/newrelic/agent/android/payload/PayloadSender.java
com/newrelic/agent/android/SavedState.java
com/newrelic/agent/android/instrumentation/retrofit/ContentBufferingTypedInput.java
l/d/a/l/j/d.java
l/d/a/l/k/b/j.java
l/d/a/m/l.java
com/newrelic/agent/android/agentdata/AgentDataSender.java
l/g/a/d/d/j/n/g0.java
com/localytics/android/Logger.java
l/d/a/l/h/o/b.java
l/d/a/l/k/b/i.java
com/newrelic/agent/android/tracing/Trace.java
l/g/a/d/d/q/c.java
com/newrelic/agent/android/activity/config/ActivityTraceConfigurationDeserializer.java
com/newrelic/agent/android/util/ActivityLifecycleBackgroundListener.java
com/newrelic/agent/android/FeatureFlag.java
com/newrelic/agent/android/analytics/AnalyticsControllerImpl.java
l/d/a/l/i/y/j.java
com/newrelic/agent/android/instrumentation/HttpsURLConnectionExtension.java
com/bumptech/glide/load/engine/DecodeJob.java
com/newrelic/agent/android/harvest/HttpError.java
com/newrelic/agent/android/analytics/AnalyticsEvent.java
com/newrelic/agent/android/instrumentation/HttpURLConnectionExtension.java
com/newrelic/agent/android/tracing/TraceMachine.java
com/virginpulse/virginpulseapi/model/vieques/response/members/rewards/statement/IncentiveTransactionLog.java
l/g/a/d/d/m/b.java
l/d/a/m/k.java
l/d/a/l/h/b.java
l/g/a/d/i/v.java
l/g/c/m/q0.java
l/g/a/d/o/a.java
l/g/a/d/q/f/l.java
com/newrelic/agent/android/instrumentation/AsyncTaskInstrumentation.java
com/newrelic/agent/android/agentdata/AgentDataController.java
l/g/c/m/q.java
l/d/a/l/k/b/m.java
l/d/a/l/h/l.java
l/g/a/d/d/n/a.java
l/g/c/m/w.java
com/newrelic/agent/android/analytics/NetworkRequestEvent.java
com/pusher/client/example/ExampleApp.java
com/newrelic/agent/android/stores/SharedPrefsAnalyticAttributeStore.java
l/g/c/m/j.java
l/g/c/m/p.java
l/d/a/l/j/s.java
com/newrelic/agent/android/harvest/HarvestData.java
com/newrelic/agent/android/instrumentation/io/CountingInputStream.java
com/newrelic/agent/android/instrumentation/retrofit/RestAdapterBuilderExtension.java
l/d/a/r/k/a.java
l/g/a/d/c/a.java
com/newrelic/agent/android/NewRelic.java
l/g/a/d/d/m/i.java
l/g/a/d/i/i.java
com/pusher/client/example/SimpleWebSocket.java
l/g/c/m/b0.java
l/i/a/i/l.java
com/newrelic/agent/android/instrumentation/TransactionStateUtil.java
l/g/a/d/i/f.java
l/d/a/c.java
l/g/a/d/i/o.java
com/newrelic/agent/android/measurement/BaseMeasurement.java
com/newrelic/agent/android/sample/Sampler.java
l/d/a/p/g/i.java
l/g/a/d/d/j/n/o0.java
com/newrelic/agent/android/gestures/GestureObserver.java
l/g/a/d/d/j/n/g.java
org/htmlcleaner/ConfigFileTagProvider.java
com/j256/ormlite/android/apptools/OrmLiteConfigUtil.java
l/d/a/j/e.java
l/g/c/q/d.java
com/newrelic/agent/android/analytics/NetworkEventController.java
com/newrelic/agent/android/harvest/HarvestConnection.java
l/g/a/d/k/b/u3.java
l/g/c/m/v0.java
com/newrelic/agent/android/instrumentation/httpclient/HttpResponseEntityImpl.java
com/newrelic/agent/android/agentdata/AgentDataReporter.java
com/pusher/client/example/PresenceChannelExampleApp.java
com/newrelic/agent/android/crash/UncaughtExceptionHandler.java
com/newrelic/agent/android/gestures/GestureReporter.java
com/newrelic/agent/android/harvest/Harvest.java
l/d/a/l/k/b/c.java
l/g/a/d/d/j/n/t1.java
l/d/a/l/h/j.java
l/g/c/m/u0.java
l/d/a/l/i/j.java
l/g/a/d/i/q.java
com/bumptech/glide/request/SingleRequest.java
com/newrelic/agent/android/MeasurementEngine.java
com/newrelic/agent/android/instrumentation/TransactionState.java
com/j256/ormlite/android/AndroidLog.java
l/d/a/j/d.java
com/newrelic/agent/android/analytics/EventManagerImpl.java
l/g/a/d/d/r/i.java
com/newrelic/agent/android/util/NetworkFailure.java
l/d/a/k/a/a.java
l/d/a/m/e.java
l/g/a/d/d/f.java
com/newrelic/agent/android/tracing/ActivityTrace.java
l/i/a/i/m.java
l/d/a/l/k/f/a.java
com/newrelic/agent/android/measurement/MeasurementPool.java
com/newrelic/agent/android/AndroidAgentImpl.java
kotlin/io/ConsoleKt.java
l/d/a/l/i/z/e.java
l/g/a/d/n/b/a.java
com/newrelic/agent/android/util/PersistentUUID.java
l/d/a/l/i/x.java
com/newrelic/agent/android/harvest/Harvester.java
l/g/a/d/i/h.java
com/pusher/client/example/PrivateChannelExampleApp.java
com/newrelic/agent/android/util/ExceptionHelper.java
l/d/a/l/j/f.java
l/g/a/d/i/b0.java
l/d/a/l/i/y/i.java
l/g/a/d/i/m.java
l/g/a/d/i/a.java
l/g/a/d/i/t.java
l/g/a/d/i/n.java
l/d/a/l/i/a0/a.java
l/g/a/d/d/m/g.java
l/g/a/d/d/m/m.java
com/newrelic/agent/android/crash/CrashReporter.java
l/g/a/d/d/g.java
com/newrelic/agent/android/harvest/HarvestTimer.java
l/g/a/d/m/a.java
l/d/a/l/i/h.java
l/g/c/q/l.java
com/newrelic/agent/android/AgentConfiguration.java
l/g/c/m/r.java
l/d/a/l/i/z/j.java
l/g/c/m/u.java
l/d/a/l/k/b/h.java
l/g/a/d/d/m/u/a.java
com/newrelic/agent/android/payload/PayloadController.java
l/g/c/q/o.java
l/g/a/d/d/j/n/n2.java
com/newrelic/agent/android/crash/CrashSender.java
l/d/a/m/o.java
l/g/c/h/e/b.java
l/a/a/l/ak.java
l/h/a/a/n.java
l/g/a/d/d/m/u0.java
High
CVSS:5.9
App uses SQLite Database and execute raw SQL query. Untrusted user input in raw SQL queries can cause SQL Injection. Also sensitive information should be encrypted and written to the database.
CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
M7: Client Code Quality
Files:
 l/j/a/t/a/g.java
l/j/a/m/f/b.java
l/g/a/d/k/b/d.java
l/g/a/d/k/b/n9.java
com/newrelic/agent/android/instrumentation/SQLiteInstrumentation.java
l/j/a/t/a/a/i.java
l/j/a/m/f/c.java
com/virginpulse/genesis/roomdatabase/VirginPulseRoomDatabase_Impl.java
com/mixpanel/android/mpmetrics/MPDbAdapter.java
com/localytics/android/ManifestProvider.java
l/j/a/t/a/a/b.java
l/g/a/d/k/b/q3.java
com/localytics/android/ProfilesProvider.java
l/j/a/t/k.java
l/g/a/d/k/b/d9.java
l/j/a/t/a/a/h.java
l/j/a/t/a/k.java
l/j/a/t/a/h.java
com/localytics/android/InAppManager.java
l/j/a/t/a/b.java
com/localytics/android/MigrationDatabaseHelper.java
com/localytics/android/AnalyticsHandler.java
l/j/a/t/a/e.java
com/localytics/android/BaseProvider.java
l/j/a/t/a/a/f.java
com/j256/ormlite/android/AndroidDatabaseConnection.java
l/j/a/t/a/a/c.java
com/j256/ormlite/android/AndroidCompiledStatement.java
com/localytics/android/PlacesManager.java
com/j256/ormlite/android/compat/JellyBeanApiCompatibility.java
com/localytics/android/MarketingProvider.java
l/j/a/t/a/d.java
l/g/a/a/i/s/i/q.java
l/j/a/x/j/m.java
com/localytics/android/FrequencyCappingEngine.java
l/j/a/x/k/f.java
l/j/a/t/a/a/e.java
com/localytics/android/LocationProvider.java
l/g/a/a/i/s/i/k.java
l/j/a/t/a/a/k.java
l/j/a/t/a/a/j.java
com/localytics/android/InboxManager.java
l/j/a/t/a/a/g.java
com/j256/ormlite/android/compat/BasicApiCompatibility.java
l/g/a/d/d/m/u/a.java
com/localytics/android/AnalyticsProvider.java
l/j/a/t/a/a/a.java
l/j/a/t/a/a/d.java
l/j/a/t/a/f.java
l/j/a/t/a/i.java
l/j/a/t/a/l.java
l/j/a/t/a/c.java
com/j256/ormlite/android/compat/ApiCompatibility.java
High
CVSS:7.5
The App uses an insecure Random Number Generator.
MASVS: MSTG-CRYPTO-6
CWE-330 Use of Insufficiently Random Values
M5: Insufficient Cryptography
Files:
 l/h/a/a/u.java
com/virginpulse/genesis/fragment/main/container/challenges/featured/join/JoinTeamListFragment_.java
l/f/b/a/c.java
l/i/a/e/e/c.java
kotlin/collections/unsigned/UArraysKt___UArraysJvmKt$asList$1.java
com/mixpanel/android/java_websocket/drafts/Draft_10.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$3.java
kotlinx/coroutines/scheduling/CoroutineScheduler.java
org/jsoup/helper/DataUtil.java
com/pusher/java_websocket/drafts/Draft_75.java
kotlin/random/PlatformRandomKt.java
kotlin/collections/unsigned/UArraysKt___UArraysJvmKt$asList$2.java
l/a/a/m/w0.java
kotlin/random/jdk8/PlatformThreadLocalRandom.java
l/f/b/a/e.java
kotlin/collections/builders/ListBuilder.java
com/pusher/java_websocket/drafts/Draft_76.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$2.java
l/i/a/f/t.java
kotlin/random/FallbackThreadLocalRandom$implStorage$1.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$5.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$8.java
kotlin/collections/CollectionsKt__MutableCollectionsKt.java
com/virginpulse/genesis/fragment/main/container/stats/StatsChartHolder.java
kotlin/collections/EmptyList.java
kotlin/random/AbstractPlatformRandom.java
kotlin/collections/unsigned/UArraysKt___UArraysJvmKt$asList$4.java
l/g/b/c/n.java
com/pusher/java_websocket/drafts/Draft_10.java
com/newrelic/agent/android/util/Util.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$6.java
kotlin/random/KotlinRandom.java
kotlin/collections/RingBuffer.java
kotlin/collections/AbstractList.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$7.java
u/n.java
kotlin/collections/CollectionsKt__CollectionsJVMKt.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$1.java
l/i/a/e/e/b.java
l/g/a/d/d/m/u/a.java
l/g/a/d/k/b/k9.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$4.java
l/g/c/t/e.java
kotlin/collections/CollectionsKt___CollectionsKt.java
kotlin/random/FallbackThreadLocalRandom.java
kotlin/collections/MovingSubList.java
kotlin/collections/unsigned/UArraysKt___UArraysJvmKt$asList$3.java
l/g/c/h/e/m/v.java
kotlin/collections/CollectionsKt__MutableCollectionsJVMKt.java
io/reactivex/internal/util/VolatileSizeArrayList.java
kotlin/random/PlatformRandom.java
l/a/a/m/t.java
com/virginpulse/genesis/fragment/main/container/challenges/featured/join/JoinTeamDetailsFragment_.java
Low
CVSS:3.9
App can write to App Directory. Sensitive Information should be encrypted.
MASVS: MSTG-STORAGE-14
CWE-276 Incorrect Default Permissions
Files:
 l/a/o/r.java
l/a/o/v.java
l/a/o/t.java
l/a/o/w.java
l/a/o/s.java
High
CVSS:7.4
MD5 is a weak hash known to have hash collisions.
MASVS: MSTG-CRYPTO-4
CWE-327 Use of a Broken or Risky Cryptographic Algorithm
M5: Insufficient Cryptography
Files:
 com/pusher/java_websocket/drafts/Draft_76.java
com/localytics/android/Utils.java
q/a/a/a.java
l/i/a/e/e/c.java
l/g/a/d/k/b/k9.java
l/j/a/v/j.java
o/a/a/a/c0/f/i.java
High
CVSS:5.5
App can read/write to External Storage. Any App can read data written to External Storage.
MASVS: MSTG-STORAGE-2
CWE-276 Incorrect Default Permissions
M2: Insecure Data Storage
Files:
 com/filestack/android/internal/Util.java
com/localytics/android/Localytics.java
l/a/a/m/w1/a.java
l/a/a/a/o0/a.java
com/newrelic/agent/android/AndroidAgentImpl.java
l/p/a/j/a.java
High
CVSS:5.5
App creates temp file. Sensitive information should never be written into a temp file.
MASVS: MSTG-STORAGE-2
CWE-276 Incorrect Default Permissions
M2: Insecure Data Storage
Files:
 com/filestack/android/internal/Util.java
com/virginpulse/genesis/util/BuzzUtils.java
kotlin/io/FilesKt__UtilsKt.java
com/virginpulse/genesis/fragment/settings/buzz/SettingsBuzzFragment_.java
High
CVSS:7.4
Files may contain hardcoded sensitive informations like usernames, passwords, keys etc.
MASVS: MSTG-STORAGE-14
CWE-312 Cleartext Storage of Sensitive Information
M9: Reverse Engineering
Files:
 com/localytics/android/MarketingProvider.java
com/newrelic/agent/android/SavedState.java
com/newrelic/agent/android/util/PersistentUUID.java
com/pusher/android/notifications/PushNotificationRegistration.java
com/localytics/android/Constants.java
com/localytics/android/BackgroundService.java
org/jsoup/nodes/Comment.java
org/jsoup/nodes/DocumentType.java
com/localytics/android/FrequencyCappingEngine.java
org/jsoup/helper/W3CDom.java
com/localytics/android/ProfilesProvider.java
com/localytics/android/LoggingHandler.java
com/localytics/android/LoguanaPairingConnection.java
com/localytics/android/LocationProvider.java
com/newrelic/agent/android/harvest/HarvestConfiguration.java
com/newrelic/agent/android/connectivity/CatPayload.java
com/localytics/android/ProfilesHandler.java
com/newrelic/agent/android/harvest/AgentHealth.java
com/localytics/android/MigrationDatabaseHelper.java
com/localytics/android/JsonObjects.java
com/localytics/android/AnalyticsProvider.java
com/localytics/android/JavaScriptClient.java
com/localytics/android/Localytics.java
l/d/a/l/i/o.java
com/filestack/internal/CloudServiceUtil.java
com/virginpulse/maxsynclib/maxsync/pojo/SyncAction.java
com/newrelic/agent/android/measurement/producer/HttpErrorMeasurementProducer.java
High
CVSS:5.9
SHA-1 is a weak hash known to have hash collisions.
MASVS: MSTG-CRYPTO-4
CWE-327 Use of a Broken or Risky Cryptographic Algorithm
M5: Insufficient Cryptography
Files:
 l/g/a/d/i/a.java
com/mixpanel/android/util/ImageStore.java
com/pusher/java_websocket/drafts/Draft_10.java
com/mixpanel/android/java_websocket/drafts/Draft_10.java
l/g/c/r/b/r.java
l/g/c/o/k/b.java
com/newrelic/agent/android/harvest/HttpError.java
com/localytics/android/Utils.java
l/g/c/m/k.java
o/a/a/a/c0/f/i.java
High
CVSS:7.4
Weak Hash algorithm used
MASVS: MSTG-CRYPTO-4
CWE-327 Use of a Broken or Risky Cryptographic Algorithm
M5: Insufficient Cryptography
Files:
 o/a/a/a/c0/f/i.java
Info
CVSS:0
This App uses SSL certificate pinning to detect or prevent MITM attacks in secure communication channel.
MASVS: MSTG-NETWORK-4
Files:
 com/filestack/internal/Networking.java
org/jsoup/helper/HttpConnection.java
l/h/a/a/p.java
l/a/p/s.java
High
CVSS:5.9
The App uses ECB mode in Cryptographic encryption algorithm. ECB mode is known to be weak as it results in the same ciphertext for identical blocks of plaintext.
MASVS: MSTG-CRYPTO-2
CWE-327 Use of a Broken or Risky Cryptographic Algorithm
M5: Insufficient Cryptography
Files:
 com/virginpulse/genesis/util/BuzzUtils.java
com/virginpulse/genesis/fragment/settings/buzz/SettingsBuzzFragment.java
l/a/k/c/b/i0/p.java
Info
CVSS:0
This App may have root detection capabilities.
MASVS: MSTG-RESILIENCE-1
Files:
 com/virginpulse/genesis/manager/RootManager.java
Medium
CVSS:4.3
IP Address disclosure
MASVS: MSTG-CODE-2
CWE-200 Information Exposure
Files:
 o/a/a/a/y/n/d.java
l/g/c/r/b/f.java
High
CVSS:7.4
Insecure WebView Implementation. WebView ignores SSL Certificate errors and accept any SSL Certificate. This application is vulnerable to MITM attacks
MASVS: MSTG-NETWORK-3
CWE-295 Improper Certificate Validation
M3: Insecure Communication
Files:
 l/a/a/a/l.java
High
CVSS:0
This App may request root (Super User) privileges.
MASVS: MSTG-RESILIENCE-1
CWE-250 Execution with Unnecessary Privileges
Files:
 l/k/a/a.java
Pygal Germany: 100 Ireland: 200 United States: 6600

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

shop.member.stage2.virginpulse.com
US edge.qa.virginpulse.com 3.208.186.244
US google.com 216.58.212.174
US api.virginhealthmiles.com 52.200.188.152
US cdn.filestackcontent.com 151.101.130.133
US youtu.be 142.250.185.238
US file.virginpulse.com 104.16.212.21
iam.mash.virginpulse.com
US shop.member.stage.virginpulse.com 52.3.162.109
US www.filestackapi.com 151.101.66.133
US accounts.google.com 142.250.186.77
US app.member.virginpulse.com 104.16.211.21
US firebaseremoteconfig.googleapis.com 142.250.185.234
US salesforce-marketingcloud.github.io 185.199.111.153
US firebase.google.com 142.250.185.78
US firebase-settings.crashlytics.com 142.250.186.99
US www.leggetter.co.uk 104.21.88.187
US bnc.lt 18.66.112.124
US iam.qa.virginpulse.com 104.16.212.21
US api2.branch.io 18.66.97.73
US enroll.stage.virginpulse.com 104.16.23.50
enroll.mash.virginpulse.eu
US enroll.virginpulse.eu 104.17.1.27
US app.member.stage2.virginpulse.com 54.166.181.160
US apiqrt.virginhealthmiles.com 104.16.214.38
US stage.app.igodigital.com 3.211.48.201
US shop.member.virginpulse.com 104.16.214.21
US apiqa.virginpulse.com 54.91.15.138
US edge.virginpulse.com 104.16.212.21
US www.googleapis.com 142.250.185.202
US iam.virginpulse.com 104.16.215.21
- enroll.qa.virginpulse.com 10.2.20.223
edge.stage2.virginpulse.com
US virginpulse.zendesk.com 104.16.53.111
US cdn.branch.io 18.66.97.23
US api.mixpanel.com 35.186.241.51
- enroll.qa.virginpulse.eu 10.5.10.50
US edge.stage.virginpulse.com 104.16.23.50
shop.member.mash.virginpulse.com
US member.qa.virginpulse.com 34.224.48.146
US www.googleadservices.com 142.250.185.130
US decide.mixpanel.com 107.178.240.159
US member.virginpulse.com 104.16.213.21
US enroll.stage2.virginpulse.com 54.226.80.161
US goo.gl 142.250.185.206
- shop.member.qa.virginpulse.com 10.2.10.153
US github.com 140.82.121.4
US apiqrt2.virginhealthmiles.com 34.235.172.116
enroll.mash.virginpulse.com
US app.member.qa.virginpulse.com 104.16.212.21
US app.igodigital.com 54.166.28.127
US iam.stage2.virginpulse.com 107.23.238.242
DE enroll.stage.virginpulse.eu 3.123.184.11
US drive.google.com 172.217.16.142
US mc72d4bqwyhpqrj592ff3yy1kkrm.device.marketingcloudapis.com 13.111.67.60
US enroll.stage2.virginpulse.eu 104.17.252.26
US member.stage.virginpulse.com 104.16.24.50
- app.member.mash.virginpulse.com 10.2.51.30
US www.filepicker.io 151.101.66.133
US member.mash.virginpulse.com 54.87.74.32
US app-measurement.com 142.250.186.110
US apimash.virginpulse.com 209.46.35.102
US play.google.com 142.250.185.174
US member.stage2.virginpulse.com 34.235.172.116
US www.virginpulse.com 104.16.215.21
US auth1.virginpulse.com 104.16.215.21
US player.vimeo.com 151.101.12.217
IE hub.samsungapps.com 18.203.0.26
US virginpulse-1035.firebaseio.com 35.201.97.85
reports.crashlytics.com
US www.google.com 142.250.185.100
US app.member.stage.virginpulse.com 104.16.24.50
US support.localytics.com 104.16.53.111
US cloud.filestackapi.com 54.163.168.135
US update.crashlytics.com 142.250.74.195
IE upload.filestackapi.com 54.216.51.180
US iam.stage.virginpulse.com 104.16.24.50
US enroll.virginpulse.com 104.16.215.21
US edge.dev.virginpulse.com 3.214.164.120
US plus.google.com 142.250.185.206

URL analysis

Information computed with MobSF.

https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling
Defined in io/reactivex/exceptions/UndeliverableException.java
https://github.com/ReactiveX/RxJava/wiki/Error-Handling
Defined in io/reactivex/exceptions/OnErrorNotImplementedException.java
https://api2.branch.io/
Defined in io/branch/referral/ServerRequest.java
http://localhost/
Defined in retrofit2/Response.java
https://github.com/ReactiveX/RxJava/wiki/Plugins
Defined in q/c/h.java
https://github.com/ReactiveX/RxJava/wiki/Plugins
Defined in q/c/a.java
https://github.com/ReactiveX/RxJava/wiki/Plugins
Defined in q/c/l.java
https://github.com/ReactiveX/RxJava/wiki/Plugins
Defined in q/c/z.java
https://github.com/ReactiveX/RxJava/wiki/Plugins
Defined in q/c/q.java
https://cdn.branch.io/sdk/uriskiplist_v#.json
Defined in q/a/b/i0.java
https://bnc.lt/a/
Defined in q/a/b/t.java
javascript:var
Defined in com/localytics/android/VideoEnabledWebChromeClient.java
https://support.localytics.com/Android_SDK_Migration_3.0_to_3.x
Defined in com/localytics/android/LocalyticsManager.java
javascript:(function(config)
javascript:(function(){var
Defined in com/localytics/android/JavaScriptClient.java
https://%s/test_devices
https://%s/push_test?platform=android&type=prod&campaign=%s&creative=%s&token=%s&install_id=%s&client_ts=%s
https://%s/test_push_events
Defined in com/localytics/android/PushManager.java
http://support.newrelic.com.
Defined in com/newrelic/agent/android/NewRelic.java
https://hub.samsungapps.com/product/appCheck.as?
Defined in com/samsung/android/sdk/internal/healthdata/DeviceUtil.java
http://www.leggetter.co.uk/pusher/pusher-examples/php/authentication/src/private_auth.php
Defined in com/pusher/client/example/PrivateChannelExampleApp.java
http://www.leggetter.co.uk/pusher/pusher-examples/php/authentication/src/presence_auth.php
Defined in com/pusher/client/example/PresenceChannelExampleApp.java
https://file.virginpulse.com/api/file/%1$s
Defined in com/virginpulse/polaris/util/helpers/PhotoUploadHelper$setPhotoReceiver$2.java
http://member.virginpulse.com
https://member.virginpulse.com
https://mc72d4bqwyhpqrj592ff3yy1kkrm.device.marketingcloudapis.com/
http://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android
https://app.igodigital.com/api/v1/collect/process_batch
Defined in com/virginpulse/virginpulse/VirginpulseApplication.java
https://auth1.virginpulse.com/images/Parental_Consent_Form_VP_-_en_US.pdf
Defined in com/virginpulse/virginpulse/fragment/enrollment/v1/EnrollmentFormV1ViewModel.java
https://member.virginpulse.com/secure/help/contactusform.aspx
Defined in com/virginpulse/genesis/activity/MaxGenesisActivity.java
file:///android_asset/licenses.html
Defined in com/virginpulse/genesis/fragment/appsettings/SettingsAppFragment.java
https://player.vimeo.com/video/
Defined in com/virginpulse/genesis/fragment/companyprograms/details/CompanyProgramDetailsFragment.java
https://youtu.be/
https://player.vimeo.com/video/
Defined in com/virginpulse/genesis/fragment/main/container/challenges/destination/content/StageContentDetailsFragment_.java
https://cloud.filestackapi.com/
Defined in com/filestack/internal/CloudService.java
https://www.filestackapi.com/api/file/
Defined in com/filestack/internal/BaseService.java
https://cdn.filestackcontent.com/
Defined in com/filestack/internal/CdnService.java
https://upload.filestackapi.com/
Defined in com/filestack/internal/UploadService.java
https://firebase.google.com/support/privacy/init-options.
Defined in l/g/c/o/d.java
https://%s/%s/%s
Defined in l/g/c/o/l/c.java
https://firebaseremoteconfig.googleapis.com/
Defined in l/g/c/t/e.java
https://firebase-settings.crashlytics.com/spi/v2/platforms/android/gmp/%s/settings
Defined in l/g/c/h/b.java
https://update.crashlytics.com/spi/v1/platforms/android/apps
https://update.crashlytics.com/spi/v1/platforms/android/apps/%s
https://reports.crashlytics.com/spi/v1/platforms/android/apps/%s/reports
https://reports.crashlytics.com/sdk-api/v1/platforms/android/apps/%s/minidumps
Defined in l/g/c/h/e/s/g.java
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
https://www.googleapis.com/auth/fitness.location.read
https://www.googleapis.com/auth/fitness.location.write
https://www.googleapis.com/auth/fitness.body.read
https://www.googleapis.com/auth/fitness.body.write
https://www.googleapis.com/auth/fitness.nutrition.read
https://www.googleapis.com/auth/fitness.nutrition.write
https://www.googleapis.com/auth/fitness.heart_rate.read
https://www.googleapis.com/auth/fitness.heart_rate.write
https://www.googleapis.com/auth/fitness.respiratory_rate.read
https://www.googleapis.com/auth/fitness.respiratory_rate.write
https://www.googleapis.com/auth/fitness.sleep.read
https://www.googleapis.com/auth/fitness.sleep.write
Defined in l/g/a/d/g/a.java
https://www.googleapis.com/auth/fitness.blood_pressure.read
https://www.googleapis.com/auth/fitness.blood_pressure.write
https://www.googleapis.com/auth/fitness.blood_glucose.read
https://www.googleapis.com/auth/fitness.blood_glucose.write
https://www.googleapis.com/auth/fitness.oxygen_saturation.read
https://www.googleapis.com/auth/fitness.oxygen_saturation.write
https://www.googleapis.com/auth/fitness.body_temperatu