SecurityAgent / Client / batch_get_pentest_jobs

batch_get_pentest_jobs

SecurityAgent.Client.batch_get_pentest_jobs(**kwargs)

Retrieves information about one or more pentest jobs in an agent space.

See also: AWS API Documentation

Request Syntax

response = client.batch_get_pentest_jobs(
    pentestJobIds=[
        'string',
    ],
    agentSpaceId='string'
)
Parameters:
  • pentestJobIds (list) –

    [REQUIRED]

    The list of pentest job identifiers to retrieve.

    • (string) –

  • agentSpaceId (string) –

    [REQUIRED]

    The unique identifier of the agent space that contains the pentest jobs.

Return type:

dict

Returns:

Response Syntax

{
    'pentestJobs': [
        {
            'pentestJobId': 'string',
            'pentestId': 'string',
            'title': 'string',
            'overview': 'string',
            'status': 'IN_PROGRESS'|'STOPPING'|'STOPPED'|'FAILED'|'COMPLETED',
            'endpoints': [
                {
                    'uri': 'string'
                },
            ],
            'actors': [
                {
                    'identifier': 'string',
                    'uris': [
                        'string',
                    ],
                    'authentication': {
                        'providerType': 'SECRETS_MANAGER'|'AWS_LAMBDA'|'AWS_IAM_ROLE'|'AWS_INTERNAL',
                        'value': 'string'
                    },
                    'description': 'string'
                },
            ],
            'documents': [
                {
                    's3Location': 'string',
                    'artifactId': 'string'
                },
            ],
            'sourceCode': [
                {
                    's3Location': 'string'
                },
            ],
            'excludePaths': [
                {
                    'uri': 'string'
                },
            ],
            'allowedDomains': [
                {
                    'uri': 'string'
                },
            ],
            'excludeRiskTypes': [
                'CROSS_SITE_SCRIPTING'|'DEFAULT_CREDENTIALS'|'INSECURE_DIRECT_OBJECT_REFERENCE'|'PRIVILEGE_ESCALATION'|'SERVER_SIDE_TEMPLATE_INJECTION'|'COMMAND_INJECTION'|'CODE_INJECTION'|'SQL_INJECTION'|'ARBITRARY_FILE_UPLOAD'|'INSECURE_DESERIALIZATION'|'LOCAL_FILE_INCLUSION'|'INFORMATION_DISCLOSURE'|'PATH_TRAVERSAL'|'SERVER_SIDE_REQUEST_FORGERY'|'JSON_WEB_TOKEN_VULNERABILITIES'|'XML_EXTERNAL_ENTITY'|'FILE_DELETION'|'OTHER'|'GRAPHQL_VULNERABILITIES'|'BUSINESS_LOGIC_VULNERABILITIES'|'CRYPTOGRAPHIC_VULNERABILITIES'|'DENIAL_OF_SERVICE'|'FILE_ACCESS'|'FILE_CREATION'|'DATABASE_MODIFICATION'|'DATABASE_ACCESS'|'OUTBOUND_SERVICE_REQUEST'|'UNKNOWN',
            ],
            'steps': [
                {
                    'name': 'PREFLIGHT'|'STATIC_ANALYSIS'|'PENTEST'|'FINALIZING',
                    'status': 'NOT_STARTED'|'IN_PROGRESS'|'COMPLETED'|'FAILED'|'STOPPED',
                    'createdAt': datetime(2015, 1, 1),
                    'updatedAt': datetime(2015, 1, 1)
                },
            ],
            'executionContext': [
                {
                    'contextType': 'ERROR'|'CLIENT_ERROR'|'WARNING'|'INFO',
                    'context': 'string',
                    'timestamp': datetime(2015, 1, 1)
                },
            ],
            'serviceRole': 'string',
            'logConfig': {
                'logGroup': 'string',
                'logStream': 'string'
            },
            'vpcConfig': {
                'vpcArn': 'string',
                'securityGroupArns': [
                    'string',
                ],
                'subnetArns': [
                    'string',
                ]
            },
            'networkTrafficConfig': {
                'rules': [
                    {
                        'effect': 'ALLOW'|'DENY',
                        'pattern': 'string',
                        'networkTrafficRuleType': 'URL'
                    },
                ],
                'customHeaders': [
                    {
                        'name': 'string',
                        'value': 'string'
                    },
                ]
            },
            'errorInformation': {
                'code': 'CLIENT_ERROR'|'INTERNAL_ERROR'|'STOPPED_BY_USER',
                'message': 'string'
            },
            'integratedRepositories': [
                {
                    'integrationId': 'string',
                    'providerResourceId': 'string'
                },
            ],
            'codeRemediationStrategy': 'AUTOMATIC'|'DISABLED',
            'createdAt': datetime(2015, 1, 1),
            'updatedAt': datetime(2015, 1, 1)
        },
    ],
    'notFound': [
        'string',
    ]
}

Response Structure

  • (dict) –

    Output for the BatchGetPentestJobs operation.

    • pentestJobs (list) –

      The list of pentest jobs that were found.

      • (dict) –

        Represents a pentest job, which is an execution instance of a pentest. A pentest job progresses through preflight, static analysis, pentest, and finalizing steps.

        • pentestJobId (string) –

          The unique identifier of the pentest job.

        • pentestId (string) –

          The unique identifier of the pentest associated with the job.

        • title (string) –

          The title of the pentest job.

        • overview (string) –

          An overview of the pentest job results.

        • status (string) –

          The current status of the pentest job.

        • endpoints (list) –

          The list of endpoints being tested in the pentest job.

          • (dict) –

            Represents a target endpoint for penetration testing.

            • uri (string) –

              The URI of the endpoint.

        • actors (list) –

          The list of actors used during the pentest job.

          • (dict) –

            Represents an actor used during penetration testing. An actor defines a user or entity that interacts with the target application, including authentication credentials and target URIs.

            • identifier (string) –

              The unique identifier for the actor.

            • uris (list) –

              The list of URIs that the actor targets during testing.

              • (string) –

            • authentication (dict) –

              The authentication configuration for the actor.

              • providerType (string) –

                The type of authentication provider. Valid values include SECRETS_MANAGER, AWS_LAMBDA, AWS_IAM_ROLE, and AWS_INTERNAL.

              • value (string) –

                The authentication value, such as a secret ARN, Lambda function ARN, or IAM role ARN, depending on the provider type.

            • description (string) –

              A description of the actor.

        • documents (list) –

          The list of documents providing context for the pentest job.

          • (dict) –

            Represents a document that provides context for security testing.

            • s3Location (string) –

              The Amazon S3 location of the document.

            • artifactId (string) –

              The unique identifier of the artifact associated with the document.

        • sourceCode (list) –

          The list of source code repositories analyzed during the pentest job.

          • (dict) –

            Represents a source code repository used for security analysis during a pentest.

            • s3Location (string) –

              The Amazon S3 location of the source code repository archive.

        • excludePaths (list) –

          The list of paths excluded from the pentest job.

          • (dict) –

            Represents a target endpoint for penetration testing.

            • uri (string) –

              The URI of the endpoint.

        • allowedDomains (list) –

          The list of domains allowed during the pentest job.

          • (dict) –

            Represents a target endpoint for penetration testing.

            • uri (string) –

              The URI of the endpoint.

        • excludeRiskTypes (list) –

          The list of risk types excluded from the pentest job.

          • (string) –

            Type of security risk.

        • steps (list) –

          The list of steps in the pentest job execution.

          • (dict) –

            Represents a step in the pentest job execution pipeline. Steps include preflight, static analysis, pentest, and finalizing.

            • name (string) –

              The name of the step. Valid values include PREFLIGHT, STATIC_ANALYSIS, PENTEST, and FINALIZING.

            • status (string) –

              The current status of the step.

            • createdAt (datetime) –

              The date and time the step was created, in UTC format.

            • updatedAt (datetime) –

              The date and time the step was last updated, in UTC format.

        • executionContext (list) –

          The execution context messages for the pentest job.

          • (dict) –

            Contains contextual information about the execution of a pentest job, such as errors, warnings, or informational messages.

            • contextType (string) –

              The type of context. Valid values include ERROR, CLIENT_ERROR, WARNING, and INFO.

            • context (string) –

              The context message.

            • timestamp (datetime) –

              The date and time the context was recorded, in UTC format.

        • serviceRole (string) –

          The IAM service role used for the pentest job.

        • logConfig (dict) –

          The CloudWatch Logs configuration for the pentest job.

          • logGroup (string) –

            The name of the CloudWatch log group.

          • logStream (string) –

            The name of the CloudWatch log stream.

        • vpcConfig (dict) –

          The VPC configuration for the pentest job.

          • vpcArn (string) –

            The Amazon Resource Name (ARN) of the VPC.

          • securityGroupArns (list) –

            The Amazon Resource Names (ARNs) of the security groups for the VPC configuration.

            • (string) –

              ARN or ID of a security group.

          • subnetArns (list) –

            The Amazon Resource Names (ARNs) of the subnets for the VPC configuration.

            • (string) –

              ARN or ID of a subnet.

        • networkTrafficConfig (dict) –

          The network traffic configuration for the pentest job.

          • rules (list) –

            The list of network traffic rules that control which URLs are allowed or denied during testing.

            • (dict) –

              A rule that controls network traffic during penetration testing by allowing or denying traffic to specific URL patterns.

              • effect (string) –

                The effect of the rule. Valid values are ALLOW and DENY.

              • pattern (string) –

                The URL pattern to match for the rule.

              • networkTrafficRuleType (string) –

                The type of the network traffic rule. Currently, only URL is supported.

          • customHeaders (list) –

            The list of custom HTTP headers to include in network traffic during testing.

            • (dict) –

              A custom HTTP header to include in network traffic during penetration testing.

              • name (string) –

                The name of the custom header.

              • value (string) –

                The value of the custom header.

        • errorInformation (dict) –

          Error information if the pentest job encountered an error.

          • code (string) –

            The error code. Valid values include CLIENT_ERROR, INTERNAL_ERROR, and STOPPED_BY_USER.

          • message (string) –

            A message describing the error.

        • integratedRepositories (list) –

          The list of integrated repositories associated with the pentest job.

          • (dict) –

            Represents a code repository that is integrated with the service through a third-party provider.

            • integrationId (string) –

              The unique identifier of the integration that provides access to the repository.

            • providerResourceId (string) –

              The provider-specific resource identifier for the repository.

        • codeRemediationStrategy (string) –

          The code remediation strategy for the pentest job.

        • createdAt (datetime) –

          The date and time the pentest job was created, in UTC format.

        • updatedAt (datetime) –

          The date and time the pentest job was last updated, in UTC format.

    • notFound (list) –

      The list of pentest job identifiers that were not found.

      • (string) –