UNPKG

react-native-malwarelytics

Version:

Malwarelytics for React Native protects your banking or fintech app from a broad range of mobile security threats with an industry-leading mobile threat intelligence solution.

119 lines 4.44 kB
/** * An APK with analyzed threats. */ export interface ApkThreat { /** * Package name (application Id) of the app posing a threat to the current app. */ readonly packageName: string; /** * Threat index of the apk. Result of the correct combination of evaluated and suggested threat indexes. */ readonly threatIndex: ThreatIndex; /** * Evaluated threat index indicating severity of the threat. */ readonly evaluatedThreatIndex: ThreatIndex; /** * Suggested threat index. If the value is `UNKNOWN` then there's no suggestion. */ readonly suggestedThreatIndex: ThreatIndex; /** * Optional name of malware detection. This is not bound to the thratIndex, can appear independently. */ readonly malwareDetectionName?: string; /** * Set of recommended mitigations for handling the threat. */ readonly mitigations: ThreatMitigation[]; /** * Evaluated threat reasons marking what is dangerous about the app. */ readonly reasons: ThreatReason[]; /** * Store the app was installed from (for example google play). */ readonly threatInstaller: ThreatInstaller; /** * Set of malware flags - malware types and malware families. */ readonly flags: MalwareFlag[]; } /** * A threat level that is posed by an app. * * MALWARE: * The found threats clearly indicate that the app is a malware. * * HIGHLY_DANGEROUS: * The found threats indicate that the app is highly dangerous * to the current app. * It uses multiple potential attack vectors * including techniques directly targeting the current app. * * DANGEROUS: * The found threats indicate that the app is dangerous * to the current app. * Is uses multiple potential attack vectors. * However, no technique directly targeting the current app was detected. * * POTENTIALLY_UNWANTED_APP: * The found threats indicate that the app might be potentially dangerous. * For example it declares potentially dangerous permissions. * However it it quite possible that the app is legitimate. * * SAFE: * There are no found threats. * * UNKNOWN: * The threat is unknown. * The app was probably not found. * In case of suggestions, there's none. */ export type ThreatIndex = "MALWARE" | "HIGHLY_DANGEROUS" | "DANGEROUS" | "POTENTIALLY_UNWANTED_APP" | "SAFE" | "UNKNOWN"; /** * Convert `ThreatIndex` type into number for the evaluation. The higher numeric value means a higher danger. * @param threatIndex `ThreatIndex` to convert. * @returns Number representing how dangerous the application is. */ export declare function threatIndexToNumber(threatIndex: ThreatIndex): number; /** * Installer app of an apk. * * STORE_GOOGLE_PLAY: The app was installed via Google Play * STORE_HUAWEI_APP_GALLERY: The app was installed via Huawei App Gallery * STORE_SAMSUNG_GALAXY_STORE: The app was installed via Samsung Galaxy Store * STORE_APTOIDE: The app was installed via Aptoide */ export type ThreatInstaller = "STORE_GOOGLE_PLAY" | "STORE_HUAWEI_APP_GALLERY" | "STORE_SAMSUNG_GALAXY_STORE" | "STORE_APTOIDE"; export type ThreatMitigation = "WARNING_SCREEN" | "NOTIFICATION" | "SHOW_WEB" | "KILL_APP" | "KILL_APP_SHOW_WEB"; /** * Evaluated flag for an apk threat. * The flag risk the other app is posing. * * ACCESSIBILITY: Accesibility * SMS_ACCESS: Read sms, receive sms, notification listener * SCREEN_OVERRIDE: Task hijacking, screen overlay * INSTALLER: Can install apps * UNINSTALLER: Can uninstall apps * EVADER: Hides it's internals/function * OUTSIDE_GOOGLE_PLAY: Not installed via Google Play * CALLER: Can play with your calls, e.g. it can setup a call forwarding of your calls * PRELOADED_APP: The app is preloaded on the device * PRIVILEGED_APP: The app is privileged (system privileges) * DEVELOPMENT_OR_TEST: The app is debuggable * */ export type ThreatReason = "ACCESSIBILITY" | "SMS_ACCESS" | "SCREEN_OVERRIDE" | "INSTALLER" | "UNINSTALLER" | "EVADER" | "OUTSIDE_GOOGLE_PLAY" | "CALLER" | "PRELOADED_APP" | "PRIVILEGED_APP" | "DEVELOPMENT_OR_TEST"; /** Flag designating malware info. */ export interface MalwareFlag { readonly name: string; readonly type: MalwareFlagType; } /** Type of MalwareFlag. */ export declare enum MalwareFlagType { UNKNOWN = "UNKNOWN", MALWARE_FAMILY = "MALWARE_FAMILY", MALWARE_TYPE = "MALWARE_TYPE" } //# sourceMappingURL=ApkThreat.d.ts.map