import re
from mat.utils.utils import Utils, Issue

class Issue(Issue):

    TITLE       = 'Third Party Keyboard Check'
    DESCRIPTION = 'Looks at the application checking if it blocks third party keyboards'

    ID          = '3party-keyboard'
    ISSUE_TITLE = 'Application Allows Third-Party Keyboards On Sensitive Fields'
    FINDINGS    = 'The Team found that the application did not prevent third-party keyboards from being used.'

    REGEX       = r'UIApplicationKeyboardExtensionPointIdentifier'

    def dependencies(self):
        return self.ANALYSIS.UTILS.check_dependencies(['static'], install=True)

    def run(self):
        symbols = self.ANALYSIS.UTILS.symbols(self.ANALYSIS.IOS_WORKING_BIN, self.ANALYSIS.LOCAL_WORKING_BIN)
        if not re.search(self.REGEX, symbols):
            self.REPORT = True


611f824471cebef5dddba952fac559da9e72f3b1
<mask token>


class Issue(Issue):
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>

    def run(self):
        symbols = self.ANALYSIS.UTILS.symbols(self.ANALYSIS.IOS_WORKING_BIN,
            self.ANALYSIS.LOCAL_WORKING_BIN)
        if not re.search(self.REGEX, symbols):
            self.REPORT = True

<mask token>


class Issue(Issue):
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>

    def dependencies(self):
        return self.ANALYSIS.UTILS.check_dependencies(['static'], install=True)

    def run(self):
        symbols = self.ANALYSIS.UTILS.symbols(self.ANALYSIS.IOS_WORKING_BIN,
            self.ANALYSIS.LOCAL_WORKING_BIN)
        if not re.search(self.REGEX, symbols):
            self.REPORT = True

<mask token>


class Issue(Issue):
    TITLE = 'Third Party Keyboard Check'
    DESCRIPTION = (
        'Looks at the application checking if it blocks third party keyboards')
    ID = '3party-keyboard'
    ISSUE_TITLE = (
        'Application Allows Third-Party Keyboards On Sensitive Fields')
    FINDINGS = (
        'The Team found that the application did not prevent third-party keyboards from being used.'
        )
    REGEX = 'UIApplicationKeyboardExtensionPointIdentifier'

    def dependencies(self):
        return self.ANALYSIS.UTILS.check_dependencies(['static'], install=True)

    def run(self):
        symbols = self.ANALYSIS.UTILS.symbols(self.ANALYSIS.IOS_WORKING_BIN,
            self.ANALYSIS.LOCAL_WORKING_BIN)
        if not re.search(self.REGEX, symbols):
            self.REPORT = True

import re
from mat.utils.utils import Utils, Issue


class Issue(Issue):
    TITLE = 'Third Party Keyboard Check'
    DESCRIPTION = (
        'Looks at the application checking if it blocks third party keyboards')
    ID = '3party-keyboard'
    ISSUE_TITLE = (
        'Application Allows Third-Party Keyboards On Sensitive Fields')
    FINDINGS = (
        'The Team found that the application did not prevent third-party keyboards from being used.'
        )
    REGEX = 'UIApplicationKeyboardExtensionPointIdentifier'

    def dependencies(self):
        return self.ANALYSIS.UTILS.check_dependencies(['static'], install=True)

    def run(self):
        symbols = self.ANALYSIS.UTILS.symbols(self.ANALYSIS.IOS_WORKING_BIN,
            self.ANALYSIS.LOCAL_WORKING_BIN)
        if not re.search(self.REGEX, symbols):
            self.REPORT = True

import re
from mat.utils.utils import Utils, Issue

class Issue(Issue):

    TITLE       = 'Third Party Keyboard Check'
    DESCRIPTION = 'Looks at the application checking if it blocks third party keyboards'

    ID          = '3party-keyboard'
    ISSUE_TITLE = 'Application Allows Third-Party Keyboards On Sensitive Fields'
    FINDINGS    = 'The Team found that the application did not prevent third-party keyboards from being used.'

    REGEX       = r'UIApplicationKeyboardExtensionPointIdentifier'

    def dependencies(self):
        return self.ANALYSIS.UTILS.check_dependencies(['static'], install=True)

    def run(self):
        symbols = self.ANALYSIS.UTILS.symbols(self.ANALYSIS.IOS_WORKING_BIN, self.ANALYSIS.LOCAL_WORKING_BIN)
        if not re.search(self.REGEX, symbols):
            self.REPORT = True

