示例#1
0
    def run(self, params={}):
        request = ResourceHelper(self.connection.session, self.logger)

        url = Scans.scans(self.connection.url)
        request_params = dict()
        for item in params:
            if params[item]:
                request_params[item] = params[item]
        response = request.resource_request(url, "get", params=request_params)

        try:
            result = json.loads(response["resource"])
            result = result["data"]
        except json.decoder.JSONDecodeError:
            self.logger.error(f"InsightAppSec response: {response}")
            raise Exception(
                "The response from InsightAppSec was not in JSON format. Contact support for help."
                " See log for more details"
            )

        output = list()
        for item in result:
            temp = {
                "id": item["id"],
                "app_id": item["app"]["id"],
                "scan_config_id": item["scan_config"]["id"],
                "submitter": item["submitter"],
                "submit_time": item["submit_time"],
                "completion_time": item.get("completion_time", ""),
                "status": item["status"],
                "failure_reason": item.get("failure_reason", ""),
                "links": item["links"],
            }
            output.append(temp)
        return {Output.SCANS: output}
示例#2
0
    def run(self, params={}):
        scan_id = params.get(Input.SCAN_ID)
        request = ResourceHelper(self.connection.session, self.logger)

        url = Scans.scans(self.connection.url)
        url = f'{url}{scan_id}'

        response = request.resource_request(url, 'get')
        try:
            result = json.loads(response['resource'])
        except json.decoder.JSONDecodeError:
            self.logger.error(f'InsightAppSec response: {response}')
            raise Exception(
                'The response from InsightAppSec was not in JSON format. Contact support for help.'
                ' See log for more details')

        try:
            output = {
                'id': result['id'],
                'app_id': result['app']['id'],
                'scan_config_id': result['scan_config']['id'],
                'submitter': result['submitter'],
                'submit_time': result['submit_time'],
                'completion_time': result.get('completion_time', ''),
                'status': result['status'],
                'failure_reason': result.get('failure_reason', ''),
                'links': result['links']
            }
            return {Output.SCAN: output}
        except KeyError:
            self.logger.error(result)
            raise Exception(
                'The response from InsightAppSec was not in the correct format. Contact support for help.'
                ' See log for more details')
示例#3
0
    def run(self, params={}):
        request = ResourceHelper(self.connection.session, self.logger)

        url = Scans.scans(self.connection.url)
        request_params = dict()
        for item in params:
            if params[item]:
                request_params[item] = params[item]
        response = request.resource_request(url, 'get', params=request_params)

        try:
            result = json.loads(response['resource'])
            result = result['data']
        except json.decoder.JSONDecodeError:
            self.logger.error(f'InsightAppSec response: {response}')
            raise Exception('The response from InsightAppSec was not in JSON format. Contact support for help.'
                            ' See log for more details')

        output = list()
        for item in result:
            temp = {'id': item['id'], 'app_id': item['app']['id'], 'scan_config_id': item['scan_config']['id'],
                    'submitter': item['submitter'], 'submit_time': item['submit_time'],
                    'completion_time': item.get('completion_time', ''), 'status': item['status'],
                    'failure_reason': item.get('failure_reason', ''), 'links': item['links']}
            output.append(temp)
        return {Output.SCANS: output}
示例#4
0
    def run(self, params={}):
        scan_id = params.get(Input.SCAN_ID)
        request = ResourceHelper(self.connection.session, self.logger)

        url = Scans.scans(self.connection.url)
        url = f"{url}{scan_id}"

        response = request.resource_request(url, "get")
        try:
            result = json.loads(response["resource"])
        except json.decoder.JSONDecodeError:
            self.logger.error(f"InsightAppSec response: {response}")
            raise Exception(
                "The response from InsightAppSec was not in JSON format. Contact support for help."
                " See log for more details")

        try:
            output = {
                "id": result["id"],
                "app_id": result["app"]["id"],
                "scan_config_id": result["scan_config"]["id"],
                "submitter": result["submitter"],
                "submit_time": result["submit_time"],
                "completion_time": result.get("completion_time", ""),
                "status": result["status"],
                "failure_reason": result.get("failure_reason", ""),
                "links": result["links"],
            }
            return {Output.SCAN: output}
        except KeyError:
            self.logger.error(result)
            raise Exception(
                "The response from InsightAppSec was not in the correct format. Contact support for help."
                " See log for more details")
示例#5
0
    def run(self, params={}):
        scan_id = params.get(Input.SCAN_ID)
        request = ResourceHelper(self.connection.session, self.logger)

        url = Scans.scans(self.connection.url)
        url = f'{url}{scan_id}'

        response = request.resource_request(url, 'delete')
        return {Output.STATUS: response['status']}
示例#6
0
    def run(self, params={}):
        scan_config_id = params.get(Input.SCAN_CONFIG_ID)
        request = ResourceHelper(self.connection.session, self.logger)

        url = Scans.scans(self.connection.url)
        payload = {"scan_config": {"id": scan_config_id}}

        response = request.resource_request(url, "post", payload=payload)

        return {Output.STATUS: response["status"]}
    def run(self, params={}):
        scan_config_id = params.get(Input.SCAN_CONFIG_ID)
        request = ResourceHelper(self.connection.session, self.logger)

        url = Scans.scans(self.connection.url)
        payload = {'scan_config': {'id': scan_config_id}}

        response = request.resource_request(url, 'post', payload=payload)

        return {Output.STATUS: response['status']}