GetFindings phpExt Example
<?php
// The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number.
// For example, if using Chilkat v9.5.0.48, then include as shown here:
include("chilkat_9_5_0.php");
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$rest = new CkRest();
$authAws = new CkAuthAws();
$authAws->put_AccessKey('AWS_ACCESS_KEY');
$authAws->put_SecretKey('AWS_SECRET_KEY');
// Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
$authAws->put_Region('us-west-2');
$authAws->put_ServiceName('guardduty');
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
$rest->SetAuthAws($authAws);
// URL: https://guardduty.us-west-2.amazonaws.com/
// Use the same region as specified above.
$success = $rest->Connect('guardduty.us-west-2.amazonaws.com',443,true,true);
if ($success != true) {
print 'ConnectFailReason: ' . $rest->get_ConnectFailReason() . "\n";
print $rest->lastErrorText() . "\n";
exit;
}
// The following code creates the JSON request body.
// The JSON created by this code is shown below.
// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON
$json = new CkJsonObject();
$json->UpdateString('findingIds[0]','string');
$json->UpdateString('sortCriteria.attributeName','string');
$json->UpdateString('sortCriteria.orderBy','string');
// The JSON request body created by the above code:
// {
// "findingIds": [
// "string"
// ],
// "sortCriteria": {
// "attributeName": "string",
// "orderBy": "string"
// }
// }
$rest->AddHeader('Content-Type','application/x-amz-json-1.1');
$rest->AddHeader('X-Amz-Target','GetFindings');
$sbRequestBody = new CkStringBuilder();
$json->EmitSb($sbRequestBody);
$sbResponseBody = new CkStringBuilder();
$success = $rest->FullRequestSb('POST','/detector/{detectorId}/findings/get',$sbRequestBody,$sbResponseBody);
if ($success != true) {
print $rest->lastErrorText() . "\n";
exit;
}
$respStatusCode = $rest->get_ResponseStatusCode();
print 'response status code = ' . $respStatusCode . "\n";
if ($respStatusCode != 200) {
print 'Response Header:' . "\n";
print $rest->responseHeader() . "\n";
print 'Response Body:' . "\n";
print $sbResponseBody->getAsString() . "\n";
exit;
}
$jResp = new CkJsonObject();
$jResp->LoadSb($sbResponseBody);
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
$i = 0;
$count_i = $jResp->SizeOfArray('findings');
while ($i < $count_i) {
$jResp->put_I($i);
$accountId = $jResp->stringOf('findings[i].accountId');
$arn = $jResp->stringOf('findings[i].arn');
$confidence = $jResp->IntOf('findings[i].confidence');
$createdAt = $jResp->stringOf('findings[i].createdAt');
$description = $jResp->stringOf('findings[i].description');
$id = $jResp->stringOf('findings[i].id');
$partition = $jResp->stringOf('findings[i].partition');
$region = $jResp->stringOf('findings[i].region');
$AccessKeyId = $jResp->stringOf('findings[i].resource.accessKeyDetails.accessKeyId');
$PrincipalId = $jResp->stringOf('findings[i].resource.accessKeyDetails.principalId');
$UserName = $jResp->stringOf('findings[i].resource.accessKeyDetails.userName');
$UserType = $jResp->stringOf('findings[i].resource.accessKeyDetails.userType');
$Arn = $jResp->stringOf('findings[i].resource.eksClusterDetails.arn');
$CreatedAt = $jResp->IntOf('findings[i].resource.eksClusterDetails.createdAt');
$Name = $jResp->stringOf('findings[i].resource.eksClusterDetails.name');
$Status = $jResp->stringOf('findings[i].resource.eksClusterDetails.status');
$VpcId = $jResp->stringOf('findings[i].resource.eksClusterDetails.vpcId');
$AvailabilityZone = $jResp->stringOf('findings[i].resource.instanceDetails.availabilityZone');
$IamInstanceProfileArn = $jResp->stringOf('findings[i].resource.instanceDetails.iamInstanceProfile.arn');
$Id = $jResp->stringOf('findings[i].resource.instanceDetails.iamInstanceProfile.id');
$ImageDescription = $jResp->stringOf('findings[i].resource.instanceDetails.imageDescription');
$ImageId = $jResp->stringOf('findings[i].resource.instanceDetails.imageId');
$InstanceId = $jResp->stringOf('findings[i].resource.instanceDetails.instanceId');
$InstanceState = $jResp->stringOf('findings[i].resource.instanceDetails.instanceState');
$InstanceType = $jResp->stringOf('findings[i].resource.instanceDetails.instanceType');
$LaunchTime = $jResp->stringOf('findings[i].resource.instanceDetails.launchTime');
$OutpostArn = $jResp->stringOf('findings[i].resource.instanceDetails.outpostArn');
$Platform = $jResp->stringOf('findings[i].resource.instanceDetails.platform');
$Uid = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesUserDetails.uid');
$Username = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesUserDetails.username');
$HostNetwork = $jResp->IntOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.hostNetwork');
$KubernetesWorkloadDetailsName = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.name');
$Namespace = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.namespace');
$v_Type = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.type');
$KubernetesWorkloadDetailsUid = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.uid');
$ResourceType = $jResp->stringOf('findings[i].resource.resourceType');
$schemaVersion = $jResp->stringOf('findings[i].schemaVersion');
$ActionType = $jResp->stringOf('findings[i].service.action.actionType');
$Api = $jResp->stringOf('findings[i].service.action.awsApiCallAction.api');
$CallerType = $jResp->stringOf('findings[i].service.action.awsApiCallAction.callerType');
$Domain = $jResp->stringOf('findings[i].service.action.awsApiCallAction.domainDetails.domain');
$ErrorCode = $jResp->stringOf('findings[i].service.action.awsApiCallAction.errorCode');
$AccountId = $jResp->stringOf('findings[i].service.action.awsApiCallAction.remoteAccountDetails.accountId');
$Affiliated = $jResp->IntOf('findings[i].service.action.awsApiCallAction.remoteAccountDetails.affiliated');
$CityName = $jResp->stringOf('findings[i].service.action.awsApiCallAction.remoteIpDetails.city.cityName');
$CountryCode = $jResp->stringOf('findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryCode');
$CountryName = $jResp->stringOf('findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryName');
$Lat = $jResp->IntOf('findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lat');
$Lon = $jResp->IntOf('findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lon');
$IpAddressV4 = $jResp->stringOf('findings[i].service.action.awsApiCallAction.remoteIpDetails.ipAddressV4');
$v_Asn = $jResp->stringOf('findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asn');
$AsnOrg = $jResp->stringOf('findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg');
$Isp = $jResp->stringOf('findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.isp');
$Org = $jResp->stringOf('findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.org');
$ServiceName = $jResp->stringOf('findings[i].service.action.awsApiCallAction.serviceName');
$UserAgent = $jResp->stringOf('findings[i].service.action.awsApiCallAction.userAgent');
$DnsRequestActionDomain = $jResp->stringOf('findings[i].service.action.dnsRequestAction.domain');
$Parameters = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.parameters');
$CityCityName = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.city.cityName');
$CountryCountryCode = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryCode');
$CountryCountryName = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryName');
$GeoLocationLat = $jResp->IntOf('findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lat');
$GeoLocationLon = $jResp->IntOf('findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lon');
$RemoteIpDetailsIpAddressV4 = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.ipAddressV4');
$OrganizationAsn = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asn');
$OrganizationAsnOrg = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asnOrg');
$OrganizationIsp = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.isp');
$OrganizationOrg = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.org');
$RequestUri = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.requestUri');
$StatusCode = $jResp->IntOf('findings[i].service.action.kubernetesApiCallAction.statusCode');
$KubernetesApiCallActionUserAgent = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.userAgent');
$Verb = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.verb');
$Blocked = $jResp->IntOf('findings[i].service.action.networkConnectionAction.blocked');
$ConnectionDirection = $jResp->stringOf('findings[i].service.action.networkConnectionAction.connectionDirection');
$LocalIpDetailsIpAddressV4 = $jResp->stringOf('findings[i].service.action.networkConnectionAction.localIpDetails.ipAddressV4');
$Port = $jResp->IntOf('findings[i].service.action.networkConnectionAction.localPortDetails.port');
$PortName = $jResp->stringOf('findings[i].service.action.networkConnectionAction.localPortDetails.portName');
$Protocol = $jResp->stringOf('findings[i].service.action.networkConnectionAction.protocol');
$CityCityName = $jResp->stringOf('findings[i].service.action.networkConnectionAction.remoteIpDetails.city.cityName');
$CountryCountryCode = $jResp->stringOf('findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryCode');
$CountryCountryName = $jResp->stringOf('findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryName');
$GeoLocationLat = $jResp->IntOf('findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lat');
$GeoLocationLon = $jResp->IntOf('findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lon');
$RemoteIpDetailsIpAddressV4 = $jResp->stringOf('findings[i].service.action.networkConnectionAction.remoteIpDetails.ipAddressV4');
$OrganizationAsn = $jResp->stringOf('findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asn');
$OrganizationAsnOrg = $jResp->stringOf('findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg');
$OrganizationIsp = $jResp->stringOf('findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.isp');
$OrganizationOrg = $jResp->stringOf('findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.org');
$RemotePortDetailsPort = $jResp->IntOf('findings[i].service.action.networkConnectionAction.remotePortDetails.port');
$RemotePortDetailsPortName = $jResp->stringOf('findings[i].service.action.networkConnectionAction.remotePortDetails.portName');
$PortProbeActionBlocked = $jResp->IntOf('findings[i].service.action.portProbeAction.blocked');
$Archived = $jResp->IntOf('findings[i].service.archived');
$Count = $jResp->IntOf('findings[i].service.count');
$DetectorId = $jResp->stringOf('findings[i].service.detectorId');
$EventFirstSeen = $jResp->stringOf('findings[i].service.eventFirstSeen');
$EventLastSeen = $jResp->stringOf('findings[i].service.eventLastSeen');
$ResourceRole = $jResp->stringOf('findings[i].service.resourceRole');
$serviceServiceName = $jResp->stringOf('findings[i].service.serviceName');
$UserFeedback = $jResp->stringOf('findings[i].service.userFeedback');
$severity = $jResp->IntOf('findings[i].severity');
$title = $jResp->stringOf('findings[i].title');
$v_type = $jResp->stringOf('findings[i].type');
$updatedAt = $jResp->stringOf('findings[i].updatedAt');
$j = 0;
$count_j = $jResp->SizeOfArray('findings[i].resource.eksClusterDetails.tags');
while ($j < $count_j) {
$jResp->put_J($j);
$key = $jResp->stringOf('findings[i].resource.eksClusterDetails.tags[j].key');
$value = $jResp->stringOf('findings[i].resource.eksClusterDetails.tags[j].value');
$j = $j + 1;
}
$j = 0;
$count_j = $jResp->SizeOfArray('findings[i].resource.instanceDetails.networkInterfaces');
while ($j < $count_j) {
$jResp->put_J($j);
$networkInterfaceId = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].networkInterfaceId');
$privateDnsName = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].privateDnsName');
$privateIpAddress = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddress');
$publicDnsName = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].publicDnsName');
$publicIp = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].publicIp');
$subnetId = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].subnetId');
$vpcId = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].vpcId');
$k = 0;
$count_k = $jResp->SizeOfArray('findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses');
while ($k < $count_k) {
$jResp->put_K($k);
$strVal = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses[k]');
$k = $k + 1;
}
$k = 0;
$count_k = $jResp->SizeOfArray('findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses');
while ($k < $count_k) {
$jResp->put_K($k);
$privateDnsName = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateDnsName');
$privateIpAddress = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateIpAddress');
$k = $k + 1;
}
$k = 0;
$count_k = $jResp->SizeOfArray('findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups');
while ($k < $count_k) {
$jResp->put_K($k);
$groupId = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupId');
$groupName = $jResp->stringOf('findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupName');
$k = $k + 1;
}
$j = $j + 1;
}
$j = 0;
$count_j = $jResp->SizeOfArray('findings[i].resource.instanceDetails.productCodes');
while ($j < $count_j) {
$jResp->put_J($j);
$code = $jResp->stringOf('findings[i].resource.instanceDetails.productCodes[j].code');
$productType = $jResp->stringOf('findings[i].resource.instanceDetails.productCodes[j].productType');
$j = $j + 1;
}
$j = 0;
$count_j = $jResp->SizeOfArray('findings[i].resource.instanceDetails.tags');
while ($j < $count_j) {
$jResp->put_J($j);
$key = $jResp->stringOf('findings[i].resource.instanceDetails.tags[j].key');
$value = $jResp->stringOf('findings[i].resource.instanceDetails.tags[j].value');
$j = $j + 1;
}
$j = 0;
$count_j = $jResp->SizeOfArray('findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups');
while ($j < $count_j) {
$jResp->put_J($j);
$strVal = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups[j]');
$j = $j + 1;
}
$j = 0;
$count_j = $jResp->SizeOfArray('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers');
while ($j < $count_j) {
$jResp->put_J($j);
$containerRuntime = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].containerRuntime');
$id = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].id');
$image = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].image');
$imagePrefix = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].imagePrefix');
$name = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].name');
$Privileged = $jResp->IntOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].securityContext.privileged');
$k = 0;
$count_k = $jResp->SizeOfArray('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts');
while ($k < $count_k) {
$jResp->put_K($k);
$mountPath = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].mountPath');
$name = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].name');
$k = $k + 1;
}
$j = $j + 1;
}
$j = 0;
$count_j = $jResp->SizeOfArray('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes');
while ($j < $count_j) {
$jResp->put_J($j);
$Path = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].hostPath.path');
$name = $jResp->stringOf('findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].name');
$j = $j + 1;
}
$j = 0;
$count_j = $jResp->SizeOfArray('findings[i].resource.s3BucketDetails');
while ($j < $count_j) {
$jResp->put_J($j);
$arn = $jResp->stringOf('findings[i].resource.s3BucketDetails[j].arn');
$createdAt_int = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].createdAt');
$EncryptionType = $jResp->stringOf('findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.encryptionType');
$KmsMasterKeyArn = $jResp->stringOf('findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.kmsMasterKeyArn');
$name = $jResp->stringOf('findings[i].resource.s3BucketDetails[j].name');
$ownerId = $jResp->stringOf('findings[i].resource.s3BucketDetails[j].owner.id');
$EffectivePermission = $jResp->stringOf('findings[i].resource.s3BucketDetails[j].publicAccess.effectivePermission');
$BlockPublicAcls = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicAcls');
$BlockPublicPolicy = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicPolicy');
$IgnorePublicAcls = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.ignorePublicAcls');
$RestrictPublicBuckets = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.restrictPublicBuckets');
$AllowsPublicReadAccess = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicReadAccess');
$AllowsPublicWriteAccess = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicWriteAccess');
$BlockPublicAccessBlockPublicAcls = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicAcls');
$BlockPublicAccessBlockPublicPolicy = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicPolicy');
$BlockPublicAccessIgnorePublicAcls = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.ignorePublicAcls');
$BlockPublicAccessRestrictPublicBuckets = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.restrictPublicBuckets');
$BucketPolicyAllowsPublicReadAccess = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicReadAccess');
$BucketPolicyAllowsPublicWriteAccess = $jResp->IntOf('findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicWriteAccess');
$v_type = $jResp->stringOf('findings[i].resource.s3BucketDetails[j].type');
$k = 0;
$count_k = $jResp->SizeOfArray('findings[i].resource.s3BucketDetails[j].tags');
while ($k < $count_k) {
$jResp->put_K($k);
$key = $jResp->stringOf('findings[i].resource.s3BucketDetails[j].tags[k].key');
$value = $jResp->stringOf('findings[i].resource.s3BucketDetails[j].tags[k].value');
$k = $k + 1;
}
$j = $j + 1;
}
$j = 0;
$count_j = $jResp->SizeOfArray('findings[i].service.action.kubernetesApiCallAction.sourceIps');
while ($j < $count_j) {
$jResp->put_J($j);
$strVal = $jResp->stringOf('findings[i].service.action.kubernetesApiCallAction.sourceIps[j]');
$j = $j + 1;
}
$j = 0;
$count_j = $jResp->SizeOfArray('findings[i].service.action.portProbeAction.portProbeDetails');
while ($j < $count_j) {
$jResp->put_J($j);
$localIpDetailsIpAddressV4 = $jResp->stringOf('findings[i].service.action.portProbeAction.portProbeDetails[j].localIpDetails.ipAddressV4');
$localPortDetailsPort = $jResp->IntOf('findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.port');
$localPortDetailsPortName = $jResp->stringOf('findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.portName');
$CityCityName = $jResp->stringOf('findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.city.cityName');
$CountryCountryCode = $jResp->stringOf('findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryCode');
$CountryCountryName = $jResp->stringOf('findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryName');
$GeoLocationLat = $jResp->IntOf('findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lat');
$GeoLocationLon = $jResp->IntOf('findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lon');
$remoteIpDetailsIpAddressV4 = $jResp->stringOf('findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.ipAddressV4');
$OrganizationAsn = $jResp->stringOf('findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asn');
$OrganizationAsnOrg = $jResp->stringOf('findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asnOrg');
$OrganizationIsp = $jResp->stringOf('findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.isp');
$OrganizationOrg = $jResp->stringOf('findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.org');
$j = $j + 1;
}
$j = 0;
$count_j = $jResp->SizeOfArray('findings[i].service.evidence.threatIntelligenceDetails');
while ($j < $count_j) {
$jResp->put_J($j);
$threatListName = $jResp->stringOf('findings[i].service.evidence.threatIntelligenceDetails[j].threatListName');
$k = 0;
$count_k = $jResp->SizeOfArray('findings[i].service.evidence.threatIntelligenceDetails[j].threatNames');
while ($k < $count_k) {
$jResp->put_K($k);
$strVal = $jResp->stringOf('findings[i].service.evidence.threatIntelligenceDetails[j].threatNames[k]');
$k = $k + 1;
}
$j = $j + 1;
}
$i = $i + 1;
}
// A sample JSON response body parsed by the above code:
// {
// "findings": [
// {
// "accountId": "string",
// "arn": "string",
// "confidence": number,
// "createdAt": "string",
// "description": "string",
// "id": "string",
// "partition": "string",
// "region": "string",
// "resource": {
// "accessKeyDetails": {
// "accessKeyId": "string",
// "principalId": "string",
// "userName": "string",
// "userType": "string"
// },
// "eksClusterDetails": {
// "arn": "string",
// "createdAt": number,
// "name": "string",
// "status": "string",
// "tags": [
// {
// "key": "string",
// "value": "string"
// }
// ],
// "vpcId": "string"
// },
// "instanceDetails": {
// "availabilityZone": "string",
// "iamInstanceProfile": {
// "arn": "string",
// "id": "string"
// },
// "imageDescription": "string",
// "imageId": "string",
// "instanceId": "string",
// "instanceState": "string",
// "instanceType": "string",
// "launchTime": "string",
// "networkInterfaces": [
// {
// "ipv6Addresses": [
// "string"
// ],
// "networkInterfaceId": "string",
// "privateDnsName": "string",
// "privateIpAddress": "string",
// "privateIpAddresses": [
// {
// "privateDnsName": "string",
// "privateIpAddress": "string"
// }
// ],
// "publicDnsName": "string",
// "publicIp": "string",
// "securityGroups": [
// {
// "groupId": "string",
// "groupName": "string"
// }
// ],
// "subnetId": "string",
// "vpcId": "string"
// }
// ],
// "outpostArn": "string",
// "platform": "string",
// "productCodes": [
// {
// "code": "string",
// "productType": "string"
// }
// ],
// "tags": [
// {
// "key": "string",
// "value": "string"
// }
// ]
// },
// "kubernetesDetails": {
// "kubernetesUserDetails": {
// "groups": [
// "string"
// ],
// "uid": "string",
// "username": "string"
// },
// "kubernetesWorkloadDetails": {
// "containers": [
// {
// "containerRuntime": "string",
// "id": "string",
// "image": "string",
// "imagePrefix": "string",
// "name": "string",
// "securityContext": {
// "privileged": boolean
// },
// "volumeMounts": [
// {
// "mountPath": "string",
// "name": "string"
// }
// ]
// }
// ],
// "hostNetwork": boolean,
// "name": "string",
// "namespace": "string",
// "type": "string",
// "uid": "string",
// "volumes": [
// {
// "hostPath": {
// "path": "string"
// },
// "name": "string"
// }
// ]
// }
// },
// "resourceType": "string",
// "s3BucketDetails": [
// {
// "arn": "string",
// "createdAt": number,
// "defaultServerSideEncryption": {
// "encryptionType": "string",
// "kmsMasterKeyArn": "string"
// },
// "name": "string",
// "owner": {
// "id": "string"
// },
// "publicAccess": {
// "effectivePermission": "string",
// "permissionConfiguration": {
// "accountLevelPermissions": {
// "blockPublicAccess": {
// "blockPublicAcls": boolean,
// "blockPublicPolicy": boolean,
// "ignorePublicAcls": boolean,
// "restrictPublicBuckets": boolean
// }
// },
// "bucketLevelPermissions": {
// "accessControlList": {
// "allowsPublicReadAccess": boolean,
// "allowsPublicWriteAccess": boolean
// },
// "blockPublicAccess": {
// "blockPublicAcls": boolean,
// "blockPublicPolicy": boolean,
// "ignorePublicAcls": boolean,
// "restrictPublicBuckets": boolean
// },
// "bucketPolicy": {
// "allowsPublicReadAccess": boolean,
// "allowsPublicWriteAccess": boolean
// }
// }
// }
// },
// "tags": [
// {
// "key": "string",
// "value": "string"
// }
// ],
// "type": "string"
// }
// ]
// },
// "schemaVersion": "string",
// "service": {
// "action": {
// "actionType": "string",
// "awsApiCallAction": {
// "api": "string",
// "callerType": "string",
// "domainDetails": {
// "domain": "string"
// },
// "errorCode": "string",
// "remoteAccountDetails": {
// "accountId": "string",
// "affiliated": boolean
// },
// "remoteIpDetails": {
// "city": {
// "cityName": "string"
// },
// "country": {
// "countryCode": "string",
// "countryName": "string"
// },
// "geoLocation": {
// "lat": number,
// "lon": number
// },
// "ipAddressV4": "string",
// "organization": {
// "asn": "string",
// "asnOrg": "string",
// "isp": "string",
// "org": "string"
// }
// },
// "serviceName": "string",
// "userAgent": "string"
// },
// "dnsRequestAction": {
// "domain": "string"
// },
// "kubernetesApiCallAction": {
// "parameters": "string",
// "remoteIpDetails": {
// "city": {
// "cityName": "string"
// },
// "country": {
// "countryCode": "string",
// "countryName": "string"
// },
// "geoLocation": {
// "lat": number,
// "lon": number
// },
// "ipAddressV4": "string",
// "organization": {
// "asn": "string",
// "asnOrg": "string",
// "isp": "string",
// "org": "string"
// }
// },
// "requestUri": "string",
// "sourceIps": [
// "string"
// ],
// "statusCode": number,
// "userAgent": "string",
// "verb": "string"
// },
// "networkConnectionAction": {
// "blocked": boolean,
// "connectionDirection": "string",
// "localIpDetails": {
// "ipAddressV4": "string"
// },
// "localPortDetails": {
// "port": number,
// "portName": "string"
// },
// "protocol": "string",
// "remoteIpDetails": {
// "city": {
// "cityName": "string"
// },
// "country": {
// "countryCode": "string",
// "countryName": "string"
// },
// "geoLocation": {
// "lat": number,
// "lon": number
// },
// "ipAddressV4": "string",
// "organization": {
// "asn": "string",
// "asnOrg": "string",
// "isp": "string",
// "org": "string"
// }
// },
// "remotePortDetails": {
// "port": number,
// "portName": "string"
// }
// },
// "portProbeAction": {
// "blocked": boolean,
// "portProbeDetails": [
// {
// "localIpDetails": {
// "ipAddressV4": "string"
// },
// "localPortDetails": {
// "port": number,
// "portName": "string"
// },
// "remoteIpDetails": {
// "city": {
// "cityName": "string"
// },
// "country": {
// "countryCode": "string",
// "countryName": "string"
// },
// "geoLocation": {
// "lat": number,
// "lon": number
// },
// "ipAddressV4": "string",
// "organization": {
// "asn": "string",
// "asnOrg": "string",
// "isp": "string",
// "org": "string"
// }
// }
// }
// ]
// }
// },
// "archived": boolean,
// "count": number,
// "detectorId": "string",
// "eventFirstSeen": "string",
// "eventLastSeen": "string",
// "evidence": {
// "threatIntelligenceDetails": [
// {
// "threatListName": "string",
// "threatNames": [
// "string"
// ]
// }
// ]
// },
// "resourceRole": "string",
// "serviceName": "string",
// "userFeedback": "string"
// },
// "severity": number,
// "title": "string",
// "type": "string",
// "updatedAt": "string"
// }
// ]
// }
?>