TITAN AI — Live Audit & 9-Tier Assessment

Organisation: TITAN Demo Environment  |  Azure subscription: 4f29d094-1079-44c9-acb0-4d73a7a2dd34 ● LIVE SCAN — 2026-07-28 20:35:14 Central Daylight Time
Collected (UTC): 2026-07-29T01:35:14.228243+00:00  |  Scan duration: 71.2s  |  Estate: groups=3, storage=2, vms=4, nsgs=2, vnets=2, public_ips=6, lbs=2, servicebus=2, keyvaults=2
43Total findings
15Critical
14High
6Medium
8Low
13Resources assessed
9Tiers executed
How to read this report. Every finding below was produced by reading the live Azure configuration with read-only API calls at the timestamp above. The Observed evidence column shows the actual property value that triggered the detector. Nothing in this report is inferred from a template or a previous scan.

Estate architecture — as collected at scan time

The client's live topology, drawn from the same collection that produced the findings below, so the picture cannot drift from the evidence. Node borders show the worst finding severity on that resource; the badge is its finding count.

No topology captured in this run.

At a glance

Severity distribution

151468
Critical 15High 14Medium 6Low 8

Findings per licence tier

Launch27Cloud Pro43Healthcare43Telecom43Banking43Government43Oracle Pro43Enterprise Apps43Airlock (air-gapped)43

Who fixes it — agent vs human

43FINDINGS
TITAN agent can fix (approval-gated) 4HUMAN must approve - raised as change request 2HUMAN investigation - no safe automated fix 37

Findings by agent

scout21forge9bastion6comply4phoenix2audit1

Results by licence tier

Each tier licenses a different agent set, so the same estate yields different coverage per tier. Select a tab to see that tier's own result.

Launch tier

8 of 8 licensed agents were driven against the live estate, producing 27 findings.

Agents in this tier: agent_shield, comply, conductor, conduit, phoenix, scout, sentinel, watch

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/sterpfinancezkfulp
enableHttpsTrafficOnly=false on sterpfinancezkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/stphipatientzkfulp
enableHttpsTrafficOnly=false on stphipatientzkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/sterpfinancezkfulp
allowBlobPublicAccess=true on sterpfinancezkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/sterpfinancezkfulp
anonymous blob access permitted on sterpfinancezkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/stphipatientzkfulp
allowBlobPublicAccess=true on stphipatientzkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/stphipatientzkfulp
anonymous blob access permitted on stphipatientzkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-hc-zkfulp
purge protection disabled on kv-hc-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-ent-zkfulp
purge protection disabled on kv-ent-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp has public IP 20.242.87.167 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-ent-zkfulp
vm-win-ent-zkfulp has public IP 20.230.94.2 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp has public IP 40.70.241.193 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-hc-zkfulp
vm-win-hc-zkfulp has public IP 20.22.203.132 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-hc-zkfulp
kv-hc-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-ent-zkfulp
kv-ent-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-007Cloud audit logging not enabled (CloudTrail / Activity Log / Cloud Audit Logs)
agent: scout
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
no subscription activity-log diagnostic setting -> control-plane audit not exported
Enable audit logging across all regions. Ship logs to immutable storage (S3 with object-lock / Azure Storage immutable / GCS retention).
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-hc-zkfulp
3 secret(s) with NO expiry on kv-hc-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-ent-zkfulp
3 secret(s) with NO expiry on kv-ent-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-ent-zkfulp
vnet-ent-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-hc-zkfulp
vnet-hc-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/sterpfinancezkfulp
no tags on sterpfinancezkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/stphipatientzkfulp
no tags on stphipatientzkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-ent-zkfulp
no tags on vm-lnx-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-ent-zkfulp
no tags on vm-win-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-hc-zkfulp
no tags on vm-lnx-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-hc-zkfulp
no tags on vm-win-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix

Cloud Pro tier

15 of 15 licensed agents were driven against the live estate, producing 43 findings.

Agents in this tier: agent_shield, audit, bastion, comply, conductor, conduit, forge, phoenix, predict, pulse, scout, secure_code, sentinel, shadow, watch

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALAUD-001Audit logging not enabled at platform level
agent: audit
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
platform activity log not exported to retained storage
Enable audit logging on the platform. Without it, no detection or forensics is possible.
AWS: enable CloudTrail multi-region; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/sterpfinancezkfulp
enableHttpsTrafficOnly=false on sterpfinancezkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/stphipatientzkfulp
enableHttpsTrafficOnly=false on stphipatientzkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-ent-zkfulp
auto-revocable: nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-hc-zkfulp
auto-revocable: nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/sterpfinancezkfulp
allowBlobPublicAccess=true on sterpfinancezkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/sterpfinancezkfulp
anonymous blob access permitted on sterpfinancezkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/stphipatientzkfulp
allowBlobPublicAccess=true on stphipatientzkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/stphipatientzkfulp
anonymous blob access permitted on stphipatientzkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/sterpfinancezkfulp
minimum TLS not enforced on sterpfinancezkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/stphipatientzkfulp
minimum TLS not enforced on stphipatientzkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-009Auto-enable cloud audit logging across all regions
agent: forge
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
auto-enablable: activity log export across regions
Enable provider-native audit logging with multi-region delivery to immutable bucket.
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic; GCP: enable Cloud Audit Logs
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-hc-zkfulp
purge protection disabled on kv-hc-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-ent-zkfulp
purge protection disabled on kv-ent-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp has public IP 20.242.87.167 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-ent-zkfulp
vm-win-ent-zkfulp has public IP 20.230.94.2 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp has public IP 40.70.241.193 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-hc-zkfulp
vm-win-hc-zkfulp has public IP 20.22.203.132 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-hc-zkfulp
kv-hc-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-ent-zkfulp
kv-ent-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-007Cloud audit logging not enabled (CloudTrail / Activity Log / Cloud Audit Logs)
agent: scout
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
no subscription activity-log diagnostic setting -> control-plane audit not exported
Enable audit logging across all regions. Ship logs to immutable storage (S3 with object-lock / Azure Storage immutable / GCS retention).
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-hc-zkfulp
3 secret(s) with NO expiry on kv-hc-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-ent-zkfulp
3 secret(s) with NO expiry on kv-ent-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-hc-zkfulp
auto-rotatable: secrets without expiry on kv-hc-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-ent-zkfulp
auto-rotatable: secrets without expiry on kv-ent-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-ent-zkfulp
vnet-ent-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-hc-zkfulp
vnet-hc-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/sterpfinancezkfulp
auto-taggable: sterpfinancezkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/stphipatientzkfulp
auto-taggable: stphipatientzkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/sterpfinancezkfulp
no tags on sterpfinancezkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/stphipatientzkfulp
no tags on stphipatientzkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-ent-zkfulp
no tags on vm-lnx-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-ent-zkfulp
no tags on vm-win-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-hc-zkfulp
no tags on vm-lnx-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-hc-zkfulp
no tags on vm-win-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix

Healthcare tier

19 of 19 licensed agents were driven against the live estate, producing 43 findings.

Agents in this tier: agent_shield, audit, baa, bastion, comply, conductor, conduit, engage, forge, hipaa, phi, phoenix, predict, pulse, scout, secure_code, sentinel, shadow, watch

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALAUD-001Audit logging not enabled at platform level
agent: audit
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
platform activity log not exported to retained storage
Enable audit logging on the platform. Without it, no detection or forensics is possible.
AWS: enable CloudTrail multi-region; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/sterpfinancezkfulp
enableHttpsTrafficOnly=false on sterpfinancezkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/stphipatientzkfulp
enableHttpsTrafficOnly=false on stphipatientzkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-ent-zkfulp
auto-revocable: nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-hc-zkfulp
auto-revocable: nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/sterpfinancezkfulp
allowBlobPublicAccess=true on sterpfinancezkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/sterpfinancezkfulp
anonymous blob access permitted on sterpfinancezkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/stphipatientzkfulp
allowBlobPublicAccess=true on stphipatientzkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/stphipatientzkfulp
anonymous blob access permitted on stphipatientzkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/sterpfinancezkfulp
minimum TLS not enforced on sterpfinancezkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/stphipatientzkfulp
minimum TLS not enforced on stphipatientzkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-009Auto-enable cloud audit logging across all regions
agent: forge
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
auto-enablable: activity log export across regions
Enable provider-native audit logging with multi-region delivery to immutable bucket.
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic; GCP: enable Cloud Audit Logs
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-hc-zkfulp
purge protection disabled on kv-hc-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-ent-zkfulp
purge protection disabled on kv-ent-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp has public IP 20.242.87.167 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-ent-zkfulp
vm-win-ent-zkfulp has public IP 20.230.94.2 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp has public IP 40.70.241.193 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-hc-zkfulp
vm-win-hc-zkfulp has public IP 20.22.203.132 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-hc-zkfulp
kv-hc-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-ent-zkfulp
kv-ent-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-007Cloud audit logging not enabled (CloudTrail / Activity Log / Cloud Audit Logs)
agent: scout
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
no subscription activity-log diagnostic setting -> control-plane audit not exported
Enable audit logging across all regions. Ship logs to immutable storage (S3 with object-lock / Azure Storage immutable / GCS retention).
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-hc-zkfulp
3 secret(s) with NO expiry on kv-hc-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-ent-zkfulp
3 secret(s) with NO expiry on kv-ent-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-hc-zkfulp
auto-rotatable: secrets without expiry on kv-hc-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-ent-zkfulp
auto-rotatable: secrets without expiry on kv-ent-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-ent-zkfulp
vnet-ent-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-hc-zkfulp
vnet-hc-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/sterpfinancezkfulp
auto-taggable: sterpfinancezkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/stphipatientzkfulp
auto-taggable: stphipatientzkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/sterpfinancezkfulp
no tags on sterpfinancezkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/stphipatientzkfulp
no tags on stphipatientzkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-ent-zkfulp
no tags on vm-lnx-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-ent-zkfulp
no tags on vm-win-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-hc-zkfulp
no tags on vm-lnx-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-hc-zkfulp
no tags on vm-win-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix

Telecom tier

16 of 16 licensed agents were driven against the live estate, producing 43 findings.

Agents in this tier: agent_shield, audit, bastion, comply, conductor, conduit, forge, phoenix, predict, pulse, scout, secure_code, sentinel, shadow, telco, watch

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALAUD-001Audit logging not enabled at platform level
agent: audit
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
platform activity log not exported to retained storage
Enable audit logging on the platform. Without it, no detection or forensics is possible.
AWS: enable CloudTrail multi-region; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/sterpfinancezkfulp
enableHttpsTrafficOnly=false on sterpfinancezkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/stphipatientzkfulp
enableHttpsTrafficOnly=false on stphipatientzkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-ent-zkfulp
auto-revocable: nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-hc-zkfulp
auto-revocable: nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/sterpfinancezkfulp
allowBlobPublicAccess=true on sterpfinancezkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/sterpfinancezkfulp
anonymous blob access permitted on sterpfinancezkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/stphipatientzkfulp
allowBlobPublicAccess=true on stphipatientzkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/stphipatientzkfulp
anonymous blob access permitted on stphipatientzkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/sterpfinancezkfulp
minimum TLS not enforced on sterpfinancezkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/stphipatientzkfulp
minimum TLS not enforced on stphipatientzkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-009Auto-enable cloud audit logging across all regions
agent: forge
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
auto-enablable: activity log export across regions
Enable provider-native audit logging with multi-region delivery to immutable bucket.
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic; GCP: enable Cloud Audit Logs
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-hc-zkfulp
purge protection disabled on kv-hc-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-ent-zkfulp
purge protection disabled on kv-ent-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp has public IP 20.242.87.167 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-ent-zkfulp
vm-win-ent-zkfulp has public IP 20.230.94.2 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp has public IP 40.70.241.193 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-hc-zkfulp
vm-win-hc-zkfulp has public IP 20.22.203.132 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-hc-zkfulp
kv-hc-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-ent-zkfulp
kv-ent-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-007Cloud audit logging not enabled (CloudTrail / Activity Log / Cloud Audit Logs)
agent: scout
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
no subscription activity-log diagnostic setting -> control-plane audit not exported
Enable audit logging across all regions. Ship logs to immutable storage (S3 with object-lock / Azure Storage immutable / GCS retention).
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-hc-zkfulp
3 secret(s) with NO expiry on kv-hc-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-ent-zkfulp
3 secret(s) with NO expiry on kv-ent-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-hc-zkfulp
auto-rotatable: secrets without expiry on kv-hc-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-ent-zkfulp
auto-rotatable: secrets without expiry on kv-ent-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-ent-zkfulp
vnet-ent-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-hc-zkfulp
vnet-hc-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/sterpfinancezkfulp
auto-taggable: sterpfinancezkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/stphipatientzkfulp
auto-taggable: stphipatientzkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/sterpfinancezkfulp
no tags on sterpfinancezkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/stphipatientzkfulp
no tags on stphipatientzkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-ent-zkfulp
no tags on vm-lnx-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-ent-zkfulp
no tags on vm-win-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-hc-zkfulp
no tags on vm-lnx-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-hc-zkfulp
no tags on vm-win-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix

Banking tier

19 of 19 licensed agents were driven against the live estate, producing 43 findings.

Agents in this tier: agent_shield, aml, audit, bastion, comply, conductor, conduit, forge, fraud, kyc, phoenix, predict, pulse, scout, secure_code, sentinel, shadow, voice, watch

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALAUD-001Audit logging not enabled at platform level
agent: audit
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
platform activity log not exported to retained storage
Enable audit logging on the platform. Without it, no detection or forensics is possible.
AWS: enable CloudTrail multi-region; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/sterpfinancezkfulp
enableHttpsTrafficOnly=false on sterpfinancezkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/stphipatientzkfulp
enableHttpsTrafficOnly=false on stphipatientzkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-ent-zkfulp
auto-revocable: nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-hc-zkfulp
auto-revocable: nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/sterpfinancezkfulp
allowBlobPublicAccess=true on sterpfinancezkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/sterpfinancezkfulp
anonymous blob access permitted on sterpfinancezkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/stphipatientzkfulp
allowBlobPublicAccess=true on stphipatientzkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/stphipatientzkfulp
anonymous blob access permitted on stphipatientzkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/sterpfinancezkfulp
minimum TLS not enforced on sterpfinancezkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/stphipatientzkfulp
minimum TLS not enforced on stphipatientzkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-009Auto-enable cloud audit logging across all regions
agent: forge
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
auto-enablable: activity log export across regions
Enable provider-native audit logging with multi-region delivery to immutable bucket.
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic; GCP: enable Cloud Audit Logs
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-hc-zkfulp
purge protection disabled on kv-hc-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-ent-zkfulp
purge protection disabled on kv-ent-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp has public IP 20.242.87.167 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-ent-zkfulp
vm-win-ent-zkfulp has public IP 20.230.94.2 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp has public IP 40.70.241.193 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-hc-zkfulp
vm-win-hc-zkfulp has public IP 20.22.203.132 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-hc-zkfulp
kv-hc-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-ent-zkfulp
kv-ent-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-007Cloud audit logging not enabled (CloudTrail / Activity Log / Cloud Audit Logs)
agent: scout
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
no subscription activity-log diagnostic setting -> control-plane audit not exported
Enable audit logging across all regions. Ship logs to immutable storage (S3 with object-lock / Azure Storage immutable / GCS retention).
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-hc-zkfulp
3 secret(s) with NO expiry on kv-hc-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-ent-zkfulp
3 secret(s) with NO expiry on kv-ent-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-hc-zkfulp
auto-rotatable: secrets without expiry on kv-hc-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-ent-zkfulp
auto-rotatable: secrets without expiry on kv-ent-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-ent-zkfulp
vnet-ent-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-hc-zkfulp
vnet-hc-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/sterpfinancezkfulp
auto-taggable: sterpfinancezkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/stphipatientzkfulp
auto-taggable: stphipatientzkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/sterpfinancezkfulp
no tags on sterpfinancezkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/stphipatientzkfulp
no tags on stphipatientzkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-ent-zkfulp
no tags on vm-lnx-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-ent-zkfulp
no tags on vm-win-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-hc-zkfulp
no tags on vm-lnx-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-hc-zkfulp
no tags on vm-win-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix

Government tier

16 of 16 licensed agents were driven against the live estate, producing 43 findings.

Agents in this tier: agent_shield, audit, bastion, comply, conductor, conduit, fedramp_cmmc, forge, phoenix, predict, pulse, scout, secure_code, sentinel, shadow, watch

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALAUD-001Audit logging not enabled at platform level
agent: audit
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
platform activity log not exported to retained storage
Enable audit logging on the platform. Without it, no detection or forensics is possible.
AWS: enable CloudTrail multi-region; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/sterpfinancezkfulp
enableHttpsTrafficOnly=false on sterpfinancezkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/stphipatientzkfulp
enableHttpsTrafficOnly=false on stphipatientzkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-ent-zkfulp
auto-revocable: nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-hc-zkfulp
auto-revocable: nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/sterpfinancezkfulp
allowBlobPublicAccess=true on sterpfinancezkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/sterpfinancezkfulp
anonymous blob access permitted on sterpfinancezkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/stphipatientzkfulp
allowBlobPublicAccess=true on stphipatientzkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/stphipatientzkfulp
anonymous blob access permitted on stphipatientzkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/sterpfinancezkfulp
minimum TLS not enforced on sterpfinancezkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/stphipatientzkfulp
minimum TLS not enforced on stphipatientzkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-009Auto-enable cloud audit logging across all regions
agent: forge
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
auto-enablable: activity log export across regions
Enable provider-native audit logging with multi-region delivery to immutable bucket.
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic; GCP: enable Cloud Audit Logs
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-hc-zkfulp
purge protection disabled on kv-hc-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-ent-zkfulp
purge protection disabled on kv-ent-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp has public IP 20.242.87.167 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-ent-zkfulp
vm-win-ent-zkfulp has public IP 20.230.94.2 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp has public IP 40.70.241.193 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-hc-zkfulp
vm-win-hc-zkfulp has public IP 20.22.203.132 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-hc-zkfulp
kv-hc-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-ent-zkfulp
kv-ent-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-007Cloud audit logging not enabled (CloudTrail / Activity Log / Cloud Audit Logs)
agent: scout
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
no subscription activity-log diagnostic setting -> control-plane audit not exported
Enable audit logging across all regions. Ship logs to immutable storage (S3 with object-lock / Azure Storage immutable / GCS retention).
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-hc-zkfulp
3 secret(s) with NO expiry on kv-hc-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-ent-zkfulp
3 secret(s) with NO expiry on kv-ent-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-hc-zkfulp
auto-rotatable: secrets without expiry on kv-hc-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-ent-zkfulp
auto-rotatable: secrets without expiry on kv-ent-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-ent-zkfulp
vnet-ent-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-hc-zkfulp
vnet-hc-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/sterpfinancezkfulp
auto-taggable: sterpfinancezkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/stphipatientzkfulp
auto-taggable: stphipatientzkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/sterpfinancezkfulp
no tags on sterpfinancezkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/stphipatientzkfulp
no tags on stphipatientzkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-ent-zkfulp
no tags on vm-lnx-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-ent-zkfulp
no tags on vm-win-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-hc-zkfulp
no tags on vm-lnx-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-hc-zkfulp
no tags on vm-win-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix

Oracle Pro tier

30 of 30 licensed agents were driven against the live estate, producing 43 findings.

Agents in this tier: agent_shield, ai_guard, aml, audit, baa, bastion, comply, conductor, conduit, databricks_lattice, datafactory_flux, engage, fedramp_cmmc, forge, fraud, hipaa, kyc, oracle_portal_pack, phi, phoenix, predict, pulse, scout, secure_code, sentinel, shadow, snowflake_lattice, telco, voice, watch

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALAUD-001Audit logging not enabled at platform level
agent: audit
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
platform activity log not exported to retained storage
Enable audit logging on the platform. Without it, no detection or forensics is possible.
AWS: enable CloudTrail multi-region; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/sterpfinancezkfulp
enableHttpsTrafficOnly=false on sterpfinancezkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/stphipatientzkfulp
enableHttpsTrafficOnly=false on stphipatientzkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-ent-zkfulp
auto-revocable: nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-hc-zkfulp
auto-revocable: nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/sterpfinancezkfulp
allowBlobPublicAccess=true on sterpfinancezkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
TITAN agent can fix (approval-gated)
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/sterpfinancezkfulp
anonymous blob access permitted on sterpfinancezkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
TITAN agent can fix (approval-gated)
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/stphipatientzkfulp
allowBlobPublicAccess=true on stphipatientzkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
TITAN agent can fix (approval-gated)
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/stphipatientzkfulp
anonymous blob access permitted on stphipatientzkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
TITAN agent can fix (approval-gated)
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN must approve - raised as change request
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN must approve - raised as change request
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/sterpfinancezkfulp
minimum TLS not enforced on sterpfinancezkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/stphipatientzkfulp
minimum TLS not enforced on stphipatientzkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-009Auto-enable cloud audit logging across all regions
agent: forge
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
auto-enablable: activity log export across regions
Enable provider-native audit logging with multi-region delivery to immutable bucket.
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic; GCP: enable Cloud Audit Logs
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-hc-zkfulp
purge protection disabled on kv-hc-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-ent-zkfulp
purge protection disabled on kv-ent-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp has public IP 20.242.87.167 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-ent-zkfulp
vm-win-ent-zkfulp has public IP 20.230.94.2 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp has public IP 40.70.241.193 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-hc-zkfulp
vm-win-hc-zkfulp has public IP 20.22.203.132 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-hc-zkfulp
kv-hc-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-ent-zkfulp
kv-ent-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-007Cloud audit logging not enabled (CloudTrail / Activity Log / Cloud Audit Logs)
agent: scout
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
no subscription activity-log diagnostic setting -> control-plane audit not exported
Enable audit logging across all regions. Ship logs to immutable storage (S3 with object-lock / Azure Storage immutable / GCS retention).
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-hc-zkfulp
3 secret(s) with NO expiry on kv-hc-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-ent-zkfulp
3 secret(s) with NO expiry on kv-ent-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-hc-zkfulp
auto-rotatable: secrets without expiry on kv-hc-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-ent-zkfulp
auto-rotatable: secrets without expiry on kv-ent-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-ent-zkfulp
vnet-ent-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-hc-zkfulp
vnet-hc-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/sterpfinancezkfulp
auto-taggable: sterpfinancezkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/stphipatientzkfulp
auto-taggable: stphipatientzkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/sterpfinancezkfulp
no tags on sterpfinancezkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/stphipatientzkfulp
no tags on stphipatientzkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-ent-zkfulp
no tags on vm-lnx-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-ent-zkfulp
no tags on vm-win-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-hc-zkfulp
no tags on vm-lnx-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-hc-zkfulp
no tags on vm-win-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix

Enterprise Apps tier

22 of 22 licensed agents were driven against the live estate, producing 43 findings.

Agents in this tier: agent_shield, audit, bastion, comply, conductor, conduit, crm_shield, ehr_guard, erp_guard, fin_guard, forge, hcm_shield, hipaa, phi, phoenix, predict, pulse, scout, secure_code, sentinel, shadow, watch

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALAUD-001Audit logging not enabled at platform level
agent: audit
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
platform activity log not exported to retained storage
Enable audit logging on the platform. Without it, no detection or forensics is possible.
AWS: enable CloudTrail multi-region; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/sterpfinancezkfulp
enableHttpsTrafficOnly=false on sterpfinancezkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/stphipatientzkfulp
enableHttpsTrafficOnly=false on stphipatientzkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-ent-zkfulp
auto-revocable: nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-hc-zkfulp
auto-revocable: nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/sterpfinancezkfulp
allowBlobPublicAccess=true on sterpfinancezkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/sterpfinancezkfulp
anonymous blob access permitted on sterpfinancezkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/stphipatientzkfulp
allowBlobPublicAccess=true on stphipatientzkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/stphipatientzkfulp
anonymous blob access permitted on stphipatientzkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/sterpfinancezkfulp
minimum TLS not enforced on sterpfinancezkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/stphipatientzkfulp
minimum TLS not enforced on stphipatientzkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-009Auto-enable cloud audit logging across all regions
agent: forge
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
auto-enablable: activity log export across regions
Enable provider-native audit logging with multi-region delivery to immutable bucket.
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic; GCP: enable Cloud Audit Logs
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-hc-zkfulp
purge protection disabled on kv-hc-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-ent-zkfulp
purge protection disabled on kv-ent-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp has public IP 20.242.87.167 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-ent-zkfulp
vm-win-ent-zkfulp has public IP 20.230.94.2 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp has public IP 40.70.241.193 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-hc-zkfulp
vm-win-hc-zkfulp has public IP 20.22.203.132 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-hc-zkfulp
kv-hc-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-ent-zkfulp
kv-ent-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-007Cloud audit logging not enabled (CloudTrail / Activity Log / Cloud Audit Logs)
agent: scout
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
no subscription activity-log diagnostic setting -> control-plane audit not exported
Enable audit logging across all regions. Ship logs to immutable storage (S3 with object-lock / Azure Storage immutable / GCS retention).
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-hc-zkfulp
3 secret(s) with NO expiry on kv-hc-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-ent-zkfulp
3 secret(s) with NO expiry on kv-ent-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-hc-zkfulp
auto-rotatable: secrets without expiry on kv-hc-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-ent-zkfulp
auto-rotatable: secrets without expiry on kv-ent-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-ent-zkfulp
vnet-ent-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-hc-zkfulp
vnet-hc-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/sterpfinancezkfulp
auto-taggable: sterpfinancezkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/stphipatientzkfulp
auto-taggable: stphipatientzkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/sterpfinancezkfulp
no tags on sterpfinancezkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/stphipatientzkfulp
no tags on stphipatientzkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-ent-zkfulp
no tags on vm-lnx-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-ent-zkfulp
no tags on vm-win-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-hc-zkfulp
no tags on vm-lnx-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-hc-zkfulp
no tags on vm-win-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix

Airlock (air-gapped) tier

15 of 15 licensed agents were driven against the live estate, producing 43 findings.

Agents in this tier: agent_shield, audit, bastion, comply, conductor, conduit, forge, phoenix, predict, pulse, scout, secure_code, sentinel, shadow, watch

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALAUD-001Audit logging not enabled at platform level
agent: audit
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
platform activity log not exported to retained storage
Enable audit logging on the platform. Without it, no detection or forensics is possible.
AWS: enable CloudTrail multi-region; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/sterpfinancezkfulp
enableHttpsTrafficOnly=false on sterpfinancezkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/stphipatientzkfulp
enableHttpsTrafficOnly=false on stphipatientzkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-ent-zkfulp
auto-revocable: nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-hc-zkfulp
auto-revocable: nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/sterpfinancezkfulp
allowBlobPublicAccess=true on sterpfinancezkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/sterpfinancezkfulp
anonymous blob access permitted on sterpfinancezkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/stphipatientzkfulp
allowBlobPublicAccess=true on stphipatientzkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
HUMAN investigation - no safe automated fix
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/stphipatientzkfulp
anonymous blob access permitted on stphipatientzkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/sterpfinancezkfulp
minimum TLS not enforced on sterpfinancezkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/stphipatientzkfulp
minimum TLS not enforced on stphipatientzkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-009Auto-enable cloud audit logging across all regions
agent: forge
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
auto-enablable: activity log export across regions
Enable provider-native audit logging with multi-region delivery to immutable bucket.
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic; GCP: enable Cloud Audit Logs
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-hc-zkfulp
purge protection disabled on kv-hc-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-ent-zkfulp
purge protection disabled on kv-ent-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp has public IP 20.242.87.167 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-ent-zkfulp
vm-win-ent-zkfulp has public IP 20.230.94.2 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp has public IP 40.70.241.193 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-hc-zkfulp
vm-win-hc-zkfulp has public IP 20.22.203.132 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-hc-zkfulp
kv-hc-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-ent-zkfulp
kv-ent-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-007Cloud audit logging not enabled (CloudTrail / Activity Log / Cloud Audit Logs)
agent: scout
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
no subscription activity-log diagnostic setting -> control-plane audit not exported
Enable audit logging across all regions. Ship logs to immutable storage (S3 with object-lock / Azure Storage immutable / GCS retention).
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-hc-zkfulp
3 secret(s) with NO expiry on kv-hc-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-ent-zkfulp
3 secret(s) with NO expiry on kv-ent-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-hc-zkfulp
auto-rotatable: secrets without expiry on kv-hc-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-ent-zkfulp
auto-rotatable: secrets without expiry on kv-ent-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-ent-zkfulp
vnet-ent-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-hc-zkfulp
vnet-hc-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/sterpfinancezkfulp
auto-taggable: sterpfinancezkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/stphipatientzkfulp
auto-taggable: stphipatientzkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/sterpfinancezkfulp
no tags on sterpfinancezkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/stphipatientzkfulp
no tags on stphipatientzkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-ent-zkfulp
no tags on vm-lnx-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-ent-zkfulp
no tags on vm-win-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-hc-zkfulp
no tags on vm-lnx-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-hc-zkfulp
no tags on vm-win-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix

Remediation split — what an agent fixes vs what a human must fix

TITAN never changes a customer environment on its own. Safe, reversible fixes are executed only after an explicit approval. Anything touching firewalls, ports, identity, connectivity or data deletion is routed to the customer's own ITSM (ServiceNow, Jira, or webhook) using the customer's own credentials — and only a human closes it.

TITAN agent can fix (approval-gated) — 4 finding(s)

The remediation engine has a validated, reversible command for this. It still runs dry-run first and requires an explicit apply.

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/sterpfinancezkfulp
allowBlobPublicAccess=true on sterpfinancezkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
TITAN agent can fix (approval-gated)
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/sterpfinancezkfulp
anonymous blob access permitted on sterpfinancezkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
TITAN agent can fix (approval-gated)
CRITICALSCT-001Storage bucket / container is publicly readable
agent: scout
storage/stphipatientzkfulp
allowBlobPublicAccess=true on stphipatientzkfulp
Remove public ACLs and require authenticated access. Enable bucket-level public access blocks at the account level.
AWS: aws s3api put-public-access-block; Azure: az storage container set --public-access off; GCP: gsutil iam ch -d allUsers gs://<bucket>
TITAN agent can fix (approval-gated)
CRITICALSCT-010Storage account allows anonymous (public) blob access
agent: scout
storage/stphipatientzkfulp
anonymous blob access permitted on stphipatientzkfulp
Disable anonymous access at the account level. Even if individual containers are private, account-level anonymous access is a misconfiguration risk.
Azure: az storage account update --allow-blob-public-access false; AWS: account-level Block Public Access; GCP: bucket-level uniform access
TITAN agent can fix (approval-gated)

HUMAN must approve - raised as change request — 2 finding(s)

Touches firewall, ports, identity, connectivity or deletes data. TITAN opens a change request in the customer's own ITSM with an implementation and backout plan. TITAN never approves or closes it.

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN must approve - raised as change request
CRITICALSCT-002Security group permits 0.0.0.0/0 on sensitive port (22, 3389, 1433, 3306, 5432, 6379, 27017)
agent: scout
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Scope inbound CIDRs to specific corporate or VPN ranges. Use a bastion host or session manager for admin access.
Restrict source CIDR on rule. AWS: aws ec2 revoke-security-group-ingress + add narrower rule; Azure: az network nsg rule update --source-address-prefixes <cidr>
HUMAN must approve - raised as change request

HUMAN investigation - no safe automated fix — 37 finding(s)

No safe automated fix is known for this condition. Tracked for human triage.

SeverityDetectorFindingResourceObserved evidenceRecommendation & fixWho fixes it
CRITICALAUD-001Audit logging not enabled at platform level
agent: audit
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
platform activity log not exported to retained storage
Enable audit logging on the platform. Without it, no detection or forensics is possible.
AWS: enable CloudTrail multi-region; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-ent-zkfulp
nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALBAS-001Firewall rule allows 0.0.0.0/0 inbound on management port (22, 3389, 5985, 5986)
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Restrict management access to corporate / VPN CIDR ranges. Use bastion host or session manager for admin access.
Restrict source IP. AWS: aws ec2 revoke-security-group-ingress + add CIDR-restricted rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALBAS-009RDP (3389) / SSH (22) / WinRM (5985-5986) directly reachable from internet
agent: bastion
nsg/nsg-hc-zkfulp
nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Move admin access behind VPN, bastion host, or cloud-native session manager. Direct internet exposure of admin protocols is the #1 ransomware initial vector.
AWS: SSM Session Manager; Azure: Bastion host or Just-In-Time access; GCP: IAP for TCP forwarding. Block 22/3389/5985 at edge firewall.
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/sterpfinancezkfulp
enableHttpsTrafficOnly=false on sterpfinancezkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALCMP-002PHI / cardholder data transmitted without TLS 1.2 or higher
agent: comply
storage/stphipatientzkfulp
enableHttpsTrafficOnly=false on stphipatientzkfulp (cleartext HTTP allowed)
Enforce TLS 1.2 minimum on all endpoints handling PHI / CHD. Disable TLS 1.0 and 1.1. Reject SSL.
Set minimum TLS version on load balancers, app gateways, and database connections. AWS ELB: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure: Min TLS 1.2 on App Service
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-ent-zkfulp
auto-revocable: nsg-ent-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
CRITICALFRG-001Auto-revoke 0.0.0.0/0 inbound rule on management port
agent: forge
nsg/nsg-hc-zkfulp
auto-revocable: nsg-hc-zkfulp/AllowRDPAny allows * -> port(s) ['3389']
Replace 0.0.0.0/0 source with documented corp/VPN CIDR list. Revoke offending rule.
AWS: aws ec2 revoke-security-group-ingress + add scoped rule; Azure NSG: az network nsg rule update --source-address-prefixes <corp-cidr>
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHBAS-006Service account password configured to never expire
agent: bastion
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp permits SSH password authentication (key-only not enforced)
Migrate to managed service account (gMSA) with auto-rotation, OR enforce 1-year max password age with documented rotation.
AD: Convert to gMSA via New-ADServiceAccount; Azure: managed identity; AWS: IAM role for service workload
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/sterpfinancezkfulp
minimum TLS not enforced on sterpfinancezkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-010Auto-set minimum TLS version to 1.2 on endpoint
agent: forge
storage/stphipatientzkfulp
minimum TLS not enforced on stphipatientzkfulp
Bump min TLS to 1.2. May break ancient clients (TLS 1.0/1.1) - acceptable risk per HIPAA / PCI.
AWS: ELBSecurityPolicy-TLS13-1-2-2021-06; Azure App Service: minTlsVersion=1.2; verify post-change
HUMAN investigation - no safe automated fix
HIGHFRG-009Auto-enable cloud audit logging across all regions
agent: forge
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
auto-enablable: activity log export across regions
Enable provider-native audit logging with multi-region delivery to immutable bucket.
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic; GCP: enable Cloud Audit Logs
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-hc-zkfulp
purge protection disabled on kv-hc-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHPHX-001Last DR test was more than 12 months ago
agent: phoenix
keyvault/kv-ent-zkfulp
purge protection disabled on kv-ent-zkfulp (vault contents unrecoverable after delete)
Test DR plan annually at minimum. Tier-1 systems should test more frequently (6 months).
Annual DR test calendar; failover for tier-1 quarterly; document outcomes; remediate gaps.
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-ent-zkfulp
vm-lnx-ent-zkfulp has public IP 20.242.87.167 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-ent-zkfulp
vm-win-ent-zkfulp has public IP 20.230.94.2 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-lnx-hc-zkfulp
vm-lnx-hc-zkfulp has public IP 40.70.241.193 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
vm/vm-win-hc-zkfulp
vm-win-hc-zkfulp has public IP 20.22.203.132 reachable from internet
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-hc-zkfulp
kv-hc-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-006Compute instance has public IP and is reachable from the internet
agent: scout
keyvault/kv-ent-zkfulp
kv-ent-zkfulp reachable from public network
Move sensitive workloads to private subnets. Use load balancer / API gateway as the only public ingress.
Detach public IP; route ingress through ALB/Application Gateway with WAF in front
HUMAN investigation - no safe automated fix
HIGHSCT-007Cloud audit logging not enabled (CloudTrail / Activity Log / Cloud Audit Logs)
agent: scout
subscription/4f29d094-1079-44c9-acb0-4d73a7a2dd34
no subscription activity-log diagnostic setting -> control-plane audit not exported
Enable audit logging across all regions. Ship logs to immutable storage (S3 with object-lock / Azure Storage immutable / GCS retention).
AWS: aws cloudtrail create-trail --is-multi-region-trail; Azure: enable Activity Log diagnostic setting; GCP: enable Cloud Audit Logs at org level
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-hc-zkfulp
3 secret(s) with NO expiry on kv-hc-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMCMP-013Encryption keys not rotated within policy period
agent: comply
keyvault/kv-ent-zkfulp
3 secret(s) with NO expiry on kv-ent-zkfulp: api-integration-key, db-admin-password, storage-connection-string
Rotate KMS keys annually for cardholder data, every 2 years for general PHI. Document rotation events.
Enable automatic key rotation in cloud KMS (AWS KMS auto-rotate, Azure Key Vault key rotation policy, GCP KMS scheduled rotation)
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-hc-zkfulp
auto-rotatable: secrets without expiry on kv-hc-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMFRG-008Auto-rotate KMS key approaching policy expiry
agent: forge
keyvault/kv-ent-zkfulp
auto-rotatable: secrets without expiry on kv-ent-zkfulp
Trigger KMS auto-rotation; verify new key version used by applications.
AWS KMS: aws kms enable-key-rotation; Azure Key Vault: az keyvault key rotate; GCP KMS: scheduled rotation
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-ent-zkfulp
vnet-ent-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
MEDIUMSCT-008Default VPC / VNet used for production workloads (no network segmentation)
agent: scout
vnet/vnet-hc-zkfulp
vnet-hc-zkfulp subnet(s) with NO NSG bound: snet-app, snet-data
Build dedicated VPCs / VNets per environment (prod, dev, qa). Use subnets and security groups to enforce trust boundaries.
Migrate workloads to a purpose-built VPC; tag default VPC for deletion
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/sterpfinancezkfulp
auto-taggable: sterpfinancezkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWFRG-005Auto-tag production resource missing required tags
agent: forge
storage/stphipatientzkfulp
auto-taggable: stphipatientzkfulp has no tags
Apply default tags from account-level tag policy. Owner/env/cost-center inferred from naming convention or account metadata.
AWS: aws resourcegroupstaggingapi tag-resources; Azure: Azure Policy modify effect
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/sterpfinancezkfulp
no tags on sterpfinancezkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
storage/stphipatientzkfulp
no tags on stphipatientzkfulp (env/owner/data-class missing)
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-ent-zkfulp
no tags on vm-lnx-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-ent-zkfulp
no tags on vm-win-ent-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-lnx-hc-zkfulp
no tags on vm-lnx-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix
LOWSCT-009Production resource missing required tags (env, owner, cost-center, data-class)
agent: scout
vm/vm-win-hc-zkfulp
no tags on vm-win-hc-zkfulp
Enforce tagging policy. Untagged resources cannot be inventoried for incident response or cost attribution.
Apply tags via cloud-native policy: AWS Config rule + auto-remediation; Azure Policy with deny effect; GCP Org Policy
HUMAN investigation - no safe automated fix

Auditor walkthrough questions

The host-level questions an assessor asks on a live screen-share, and the read-only command TITAN's host agent runs to answer each one with verbatim console output captured as evidence.

#Auditor question Evidence command (read-only)
Q1What host am I looking at, and is its identity pinned?hostname
Q2What is the system date, time and timezone?date/time/tzutil
Q3Is time synchronised to an authorised NTP source?w32tm /query /configuration and /status
Q4What is the network path off this host?tracert
Q5Are Terminal Services / RDP policies enforced?HKLM Terminal Services policy keys
Q6Is FIPS-compliant cryptography enabled?Lsa\FIPSAlgorithmPolicy
Q7Are weak TLS versions (1.1) disabled and 1.2 enabled?SCHANNEL Protocols TLS 1.1/1.2
Q8How many cached logons are retained?Winlogon CachedLogonsCount
Q9Is anonymous / null-session access restricted?RestrictAnonymous, RestrictNullSessAccess
Q10Is Data Execution Prevention enabled?NoDataExecutionPrevention
Q11Is DNSSEC validation required, and what services run?DnsSecValidationRequired, Get-Service

Live answers per host

How this ran. Azure Run Command via the pre-existing VM guest agent. No software installed, nothing written to the guest, nothing to uninstall.
Authorisation: explicit --i-have-client-authorization — granted by TITAN operator (verification run) at 2026-07-29T03:41:43.659136+00:00
Coverage: 2 of 2 hosts (2 automated, 0 via self-serve pack). No residue left on any host: True
DESKTOP-D42AL2BMicrosoft Windows 11 ProPASS 2 · FAIL 6 · INFO 3 · collected 2026-07-29T03:41:19.5318241Z
#Auditor question & commandVerdictVerbatim output
Q1What host am I looking at, and is its identity pinned?
hostname
INFO
DESKTOP-D42AL2B
Q2What is the system date, time and timezone?
echo %date% %time% & tzutil /g
INFO
2026-07-28 22:40:49  TZ=Central Standard Time
Q3Is time synchronised to an authorised NTP source?
w32tm /query /configuration ; w32tm /query /status
PASS
The following error occurred: Access is denied. (0x80070005)

--- STATUS ---
Leap Indicator: 0(no warning)
Stratum: 5 (secondary reference - syncd by (S)NTP)
Precision: -23 (119.209ns per tick)
Root Delay: 0.0145329s
Root Dispersion: 3.8909730s
ReferenceId: 0x287706E4 (source IP:  40.119.6.228)
Last Successful Sync Time: 7/28/2026 8:41:08 PM
Source: time.windows.com,0x9 
Poll Interval: 10 (1024s)
Q4What is the network path off this host?
tracert -h 5 -w 200 8.8.8.8
INFO
Tracing route to dns.google [8.8.8.8]
over a maximum of 5 hops:

  1     3 ms     2 ms     6 ms  dsldevice.attlocal.net [192.168.1.254] 
  2    78 ms     4 ms     4 ms  70.228.108.1 
  3     9 ms     9 ms     9 ms  71.155.13.244 
  4    95 ms     *      379 ms  12.242.112.29 
  5     9 ms     8 ms     7 ms  12.255.10.100 

Trace complete.
Q5Are Terminal Services / RDP policies enforced?
Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"
FAIL
NOT CONFIGURED - no Terminal Services policy key present
Q6Is FIPS-compliant cryptography enabled?
(Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy").Enabled
FAIL
FIPSAlgorithmPolicy.Enabled = 0
Q7Are weak TLS versions disabled and TLS 1.2 enabled?
SCHANNEL Protocols TLS 1.1 / TLS 1.2 Server Enabled
FAIL
TLS 1.1 Server Enabled = <not set>
TLS 1.2 Server Enabled = <not set>
Q8How many cached logons are retained?
(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon").CachedLogonsCount
FAIL
CachedLogonsCount = 10
Q9Is anonymous / null-session access restricted?
RestrictAnonymous ; RestrictNullSessAccess
FAIL
RestrictAnonymous = 0
RestrictNullSessAccess = 1
Q10Is Data Execution Prevention enabled?
(Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer").NoDataExecutionPrevention
PASS
NoDataExecutionPrevention = <not set> (DEP active - no policy disabling it)
Q11Is DNSSEC validation required, and what services are running?
(Get-DnsClientNrptPolicy).DnsSecValidationRequired ; Get-Service
FAIL
DnsSecValidationRequired = <no NRPT policy>

--- RUNNING SERVICES (first 25) ---

Name                        DisplayName                            
----                        -----------                            
AMD Crash Defender Service  AMD Crash Defender Service             
AMD External Events Utility AMD External Events Utility            
Appinfo                     Application Information                
AppXSvc                     AppX Deployment Service (AppXSVC)      
AudioEndpointBuilder        Windows Audio Endpoint Builder         
Audiosrv                    Windows Audio                          
BFE                         Base Filtering Engine                  
BITS                        Background Intelligent Transfer Service
BluetoothUserService_55cde  BluetoothUserService_55cde             
BrokerInfrastructure        Background Tasks Infrastructure Service
BTAGService                 Bluetooth Audio Gateway Service        
BthAvctpSvc                 AVCTP service                          
bthserv                     Bluetooth Support Service              
camsvc                      Capability Access Manager Service      
cbdhsvc_55cde               cbdhsvc_55cde                          
CDPSvc                      Connected Devices Platform Service     
CDPUserSvc_55cde            CDPUserSvc_55cde                       
ClickToRunSvc               Microsoft Office Click-to-Run Service  
CoreMessagingRegistrar      CoreMessaging                          
CoworkVMService             Claude                                 
CryptSvc                    Cryptographic Services                 
DcomLaunch                  DCOM Server Process Launcher           
DeviceAssociationService    Device Association Service             
DevQueryBroker              DevQuery Background Discovery Broker   
Dhcp                        DHCP Client
DESKTOP-D42AL2BMINGW64_NT-10.0-26200 3.6.7-fb42d713.x86_64PASS 1 · FAIL 6 · INFO 4 · collected 2026-07-29T03:41:22Z
#Auditor question & commandVerdictVerbatim output
Q1What host am I looking at, and is its identity pinned?
hostname; uname -a
INFO
DESKTOP-D42AL2B
MINGW64_NT-10.0-26200 DESKTOP-D42AL2B 3.6.7-fb42d713.x86_64 2026-03-29 11:44 UTC x86_64 Msys
Q2What is the system date, time and timezone?
date; timedatectl
INFO
Tue Jul 28 22:41:22 CDT 2026
Q3Is time synchronised to an authorised NTP source?
timedatectl; chronyc sources
FAIL
Q4What is the network path off this host?
traceroute -m 5 8.8.8.8
INFO
demo/linux-audit-remote.sh: line 67: traceroute: command not found
demo/linux-audit-remote.sh: line 67: tracepath: command not found
traceroute/tracepath not installed
Q5Is remote administrative access (SSH) hardened?
sshd -T | grep permitrootlogin/passwordauthentication
FAIL
Q6Is FIPS-compliant cryptography enabled?
cat /proc/sys/crypto/fips_enabled
FAIL
fips_enabled: <not present - FIPS mode off>
Q7Are weak TLS versions disabled and TLS 1.2+ enabled?
openssl version; grep MinProtocol /etc/ssl/openssl.cnf
FAIL
OpenSSL 3.5.6 7 Apr 2026 (Library: OpenSSL 3.5.6 7 Apr 2026)
MinProtocol: <not set>
Q8What password ageing / length policy is enforced?
grep PASS_MAX_DAYS /etc/login.defs
FAIL
<login.defs not readable>
Q9Are there empty passwords or extra UID-0 accounts?
awk -F: on /etc/shadow and /etc/passwd
PASS
Q10Is memory-protection (ASLR) enabled?
sysctl kernel.randomize_va_space
FAIL
Q11What services are running?
systemctl list-units --state=running
INFO

Evidence captures — resource configuration at scan time

The assessor's equivalent of a screenshot. Each block is the verbatim Azure configuration TITAN read for that resource, sealed with a SHA-256 hash so the bytes in this report can be proved identical to what was collected. Control-plane configuration only — no blob, table or row contents are ever read.

sterpfinancezkfulp storagesha256 8e910c97f0e125901ba82c0661baa015…
{
  "allowBlobPublicAccess": true,
  "enableHttpsTrafficOnly": false,
  "encryption": {
    "encryptionIdentity": null,
    "keySource": "Microsoft.Storage",
    "keyVaultProperties": null,
    "requireInfrastructureEncryption": null,
    "services": {
      "blob": {
        "enabled": true,
        "keyType": "Account",
        "lastEnabledTime": "2026-07-29T00:56:52.171691+00:00"
      },
      "file": {
        "enabled": true,
        "keyType": "Account",
        "lastEnabledTime": "2026-07-29T00:56:52.171691+00:00"
      },
      "queue": null,
      "table": null
    }
  },
  "location": "eastus2",
  "minimumTlsVersion": "TLS1_0",
  "name": "sterpfinancezkfulp",
  "tags": {}
}
stphipatientzkfulp storagesha256 5b2454758157a3ab1c15cbb1433b8e97…
{
  "allowBlobPublicAccess": true,
  "enableHttpsTrafficOnly": false,
  "encryption": {
    "encryptionIdentity": null,
    "keySource": "Microsoft.Storage",
    "keyVaultProperties": null,
    "requireInfrastructureEncryption": null,
    "services": {
      "blob": {
        "enabled": true,
        "keyType": "Account",
        "lastEnabledTime": "2026-07-29T00:52:54.734096+00:00"
      },
      "file": {
        "enabled": true,
        "keyType": "Account",
        "lastEnabledTime": "2026-07-29T00:52:54.734096+00:00"
      },
      "queue": null,
      "table": null
    }
  },
  "location": "eastus2",
  "minimumTlsVersion": "TLS1_0",
  "name": "stphipatientzkfulp",
  "tags": {}
}
vm-lnx-ent-zkfulp vmssha256 789353ec1faadc408971acc0944f34d9…
{
  "location": "eastus2",
  "name": "vm-lnx-ent-zkfulp",
  "osProfile": {
    "adminUsername": "titanadmin",
    "allowExtensionOperations": true,
    "computerName": "vm-lnx-ent-zkfulp",
    "linuxConfiguration": {
      "disablePasswordAuthentication": false,
      "patchSettings": {
        "assessmentMode": "ImageDefault",
        "patchMode": "ImageDefault"
      },
      "provisionVMAgent": true
    },
    "requireGuestProvisionSignal": true,
    "secrets": []
  },
  "powerState": "VM running",
  "publicIps": "20.242.87.167",
  "storageProfile": {
    "dataDisks": [],
    "diskControllerType": "SCSI",
    "imageReference": {
      "exactVersion": "22.04.202607140",
      "offer": "0001-com-ubuntu-server-jammy",
      "publisher": "Canonical",
      "sku": "22_04-lts-gen2",
      "version": "latest"
    },
    "osDisk": {
      "caching": "ReadWrite",
      "createOption": "FromImage",
      "deleteOption": "Detach",
      "diskSizeGB": 30,
      "managedDisk": {
        "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-ent/providers/Microsoft.Compute/disks/vm-lnx-ent-zkfulp_OsDisk_1_4b31b3279a8247ae868c9cde1b1e7db3",
        "resourceGroup": "rg-titandemo-ent",
        "storageAccountType": "Premium_LRS"
      },
      "name": "vm-lnx-ent-zkfulp_OsDisk_1_4b31b3279a8247ae868c9cde1b1e7db3",
      "osType": "Linux"
    }
  },
  "tags": {}
}
vm-win-ent-zkfulp vmssha256 0b5d4e58b7554e28db5b95ad35944b16…
{
  "location": "eastus2",
  "name": "vm-win-ent-zkfulp",
  "osProfile": {
    "adminUsername": "titanadmin",
    "allowExtensionOperations": true,
    "computerName": "winentzkfulp",
    "requireGuestProvisionSignal": true,
    "secrets": [],
    "windowsConfiguration": {
      "enableAutomaticUpdates": true,
      "enableVMAgentPlatformUpdates": true,
      "patchSettings": {
        "assessmentMode": "ImageDefault",
        "patchMode": "AutomaticByOS"
      },
      "provisionVMAgent": true
    }
  },
  "powerState": "VM running",
  "publicIps": "20.230.94.2",
  "storageProfile": {
    "dataDisks": [],
    "diskControllerType": "SCSI",
    "imageReference": {
      "exactVersion": "20348.5386.260711",
      "offer": "WindowsServer",
      "publisher": "MicrosoftWindowsServer",
      "sku": "2022-datacenter-g2",
      "version": "latest"
    },
    "osDisk": {
      "caching": "ReadWrite",
      "createOption": "FromImage",
      "deleteOption": "Detach",
      "diskSizeGB": 127,
      "managedDisk": {
        "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-ent/providers/Microsoft.Compute/disks/vm-win-ent-zkfulp_OsDisk_1_bf6f61d358c34219bf95cc8e1fbf5569",
        "resourceGroup": "rg-titandemo-ent",
        "storageAccountType": "Premium_LRS"
      },
      "name": "vm-win-ent-zkfulp_OsDisk_1_bf6f61d358c34219bf95cc8e1fbf5569",
      "osType": "Windows"
    }
  },
  "tags": {}
}
vm-lnx-hc-zkfulp vmssha256 f3c1c80400f6da6a88ba0c70fd4ad83b…
{
  "location": "eastus2",
  "name": "vm-lnx-hc-zkfulp",
  "osProfile": {
    "adminUsername": "titanadmin",
    "allowExtensionOperations": true,
    "computerName": "vm-lnx-hc-zkfulp",
    "linuxConfiguration": {
      "disablePasswordAuthentication": false,
      "patchSettings": {
        "assessmentMode": "ImageDefault",
        "patchMode": "ImageDefault"
      },
      "provisionVMAgent": true
    },
    "requireGuestProvisionSignal": true,
    "secrets": []
  },
  "powerState": "VM running",
  "publicIps": "40.70.241.193",
  "storageProfile": {
    "dataDisks": [],
    "diskControllerType": "SCSI",
    "imageReference": {
      "exactVersion": "22.04.202607140",
      "offer": "0001-com-ubuntu-server-jammy",
      "publisher": "Canonical",
      "sku": "22_04-lts-gen2",
      "version": "latest"
    },
    "osDisk": {
      "caching": "ReadWrite",
      "createOption": "FromImage",
      "deleteOption": "Detach",
      "diskSizeGB": 30,
      "managedDisk": {
        "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-hc/providers/Microsoft.Compute/disks/vm-lnx-hc-zkfulp_OsDisk_1_057148093c4842c68485ddae2d3f2098",
        "resourceGroup": "rg-titandemo-hc",
        "storageAccountType": "Premium_LRS"
      },
      "name": "vm-lnx-hc-zkfulp_OsDisk_1_057148093c4842c68485ddae2d3f2098",
      "osType": "Linux"
    }
  },
  "tags": {}
}
vm-win-hc-zkfulp vmssha256 8258f80172da728bb6546a34df664f6d…
{
  "location": "eastus2",
  "name": "vm-win-hc-zkfulp",
  "osProfile": {
    "adminUsername": "titanadmin",
    "allowExtensionOperations": true,
    "computerName": "winhczkfulp",
    "requireGuestProvisionSignal": true,
    "secrets": [],
    "windowsConfiguration": {
      "enableAutomaticUpdates": true,
      "enableVMAgentPlatformUpdates": true,
      "patchSettings": {
        "assessmentMode": "ImageDefault",
        "patchMode": "AutomaticByOS"
      },
      "provisionVMAgent": true
    }
  },
  "powerState": "VM running",
  "publicIps": "20.22.203.132",
  "storageProfile": {
    "dataDisks": [],
    "diskControllerType": "SCSI",
    "imageReference": {
      "exactVersion": "20348.5386.260711",
      "offer": "WindowsServer",
      "publisher": "MicrosoftWindowsServer",
      "sku": "2022-datacenter-g2",
      "version": "latest"
    },
    "osDisk": {
      "caching": "ReadWrite",
      "createOption": "FromImage",
      "deleteOption": "Detach",
      "diskSizeGB": 127,
      "managedDisk": {
        "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-hc/providers/Microsoft.Compute/disks/vm-win-hc-zkfulp_OsDisk_1_afbd4478cf6e4f4698fd56b97f7e4c07",
        "resourceGroup": "rg-titandemo-hc",
        "storageAccountType": "Premium_LRS"
      },
      "name": "vm-win-hc-zkfulp_OsDisk_1_afbd4478cf6e4f4698fd56b97f7e4c07",
      "osType": "Windows"
    }
  },
  "tags": {}
}
nsg-ent-zkfulp nsgssha256 d292d42ed029510e16147aa37b6b03bc…
{
  "location": "eastus2",
  "name": "nsg-ent-zkfulp",
  "securityRules": [
    {
      "access": "Allow",
      "destinationAddressPrefix": "*",
      "destinationAddressPrefixes": [],
      "destinationPortRange": "3389",
      "destinationPortRanges": [],
      "direction": "Inbound",
      "etag": "W/\"1f8b5abf-e4d0-4d60-b3c6-db133e251269\"",
      "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-ent/providers/Microsoft.Network/networkSecurityGroups/nsg-ent-zkfulp/securityRules/AllowRDPAny",
      "name": "AllowRDPAny",
      "priority": 100,
      "protocol": "Tcp",
      "provisioningState": "Succeeded",
      "resourceGroup": "rg-titandemo-ent",
      "sourceAddressPrefix": "*",
      "sourceAddressPrefixes": [],
      "sourcePortRange": "*",
      "sourcePortRanges": [],
      "type": "Microsoft.Network/networkSecurityGroups/securityRules"
    },
    {
      "access": "Allow",
      "destinationAddressPrefix": "*",
      "destinationAddressPrefixes": [],
      "destinationPortRange": "22",
      "destinationPortRanges": [],
      "direction": "Inbound",
      "etag": "W/\"1f8b5abf-e4d0-4d60-b3c6-db133e251269\"",
      "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-ent/providers/Microsoft.Network/networkSecurityGroups/nsg-ent-zkfulp/securityRules/AllowSSHAny",
      "name": "AllowSSHAny",
      "priority": 110,
      "protocol": "Tcp",
      "provisioningState": "Succeeded",
      "resourceGroup": "rg-titandemo-ent",
      "sourceAddressPrefix": "*",
      "sourceAddressPrefixes": [],
      "sourcePortRange": "*",
      "sourcePortRanges": [],
      "type": "Microsoft.Network/networkSecurityGroups/securityRules"
    }
  ]
}
nsg-hc-zkfulp nsgssha256 fa683d1c15850ed1416fd821006e784e…
{
  "location": "eastus2",
  "name": "nsg-hc-zkfulp",
  "securityRules": [
    {
      "access": "Allow",
      "destinationAddressPrefix": "*",
      "destinationAddressPrefixes": [],
      "destinationPortRange": "3389",
      "destinationPortRanges": [],
      "direction": "Inbound",
      "etag": "W/\"9725c1e8-011c-4bd5-893b-e7d6a3a0be42\"",
      "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-hc/providers/Microsoft.Network/networkSecurityGroups/nsg-hc-zkfulp/securityRules/AllowRDPAny",
      "name": "AllowRDPAny",
      "priority": 100,
      "protocol": "Tcp",
      "provisioningState": "Succeeded",
      "resourceGroup": "rg-titandemo-hc",
      "sourceAddressPrefix": "*",
      "sourceAddressPrefixes": [],
      "sourcePortRange": "*",
      "sourcePortRanges": [],
      "type": "Microsoft.Network/networkSecurityGroups/securityRules"
    },
    {
      "access": "Allow",
      "destinationAddressPrefix": "*",
      "destinationAddressPrefixes": [],
      "destinationPortRange": "22",
      "destinationPortRanges": [],
      "direction": "Inbound",
      "etag": "W/\"9725c1e8-011c-4bd5-893b-e7d6a3a0be42\"",
      "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-hc/providers/Microsoft.Network/networkSecurityGroups/nsg-hc-zkfulp/securityRules/AllowSSHAny",
      "name": "AllowSSHAny",
      "priority": 110,
      "protocol": "Tcp",
      "provisioningState": "Succeeded",
      "resourceGroup": "rg-titandemo-hc",
      "sourceAddressPrefix": "*",
      "sourceAddressPrefixes": [],
      "sourcePortRange": "*",
      "sourcePortRanges": [],
      "type": "Microsoft.Network/networkSecurityGroups/securityRules"
    }
  ]
}
vnet-ent-zkfulp vnetssha256 cf6880731b95ffe4ac690a8e277be50e…
{
  "addressSpace": {
    "addressPrefixes": [
      "10.20.0.0/16"
    ]
  },
  "location": "eastus2",
  "name": "vnet-ent-zkfulp",
  "subnets": [
    {
      "addressPrefix": "10.20.1.0/24",
      "delegations": [],
      "etag": "W/\"6a20cb6a-3efb-4a91-b983-f58c4997df0e\"",
      "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-ent/providers/Microsoft.Network/virtualNetworks/vnet-ent-zkfulp/subnets/snet-app",
      "ipConfigurations": [
        {
          "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/RG-TITANDEMO-ENT/providers/Microsoft.Network/networkInterfaces/VM-LNX-ENT-ZKFULPVMNIC/ipConfigurations/IPCONFIGVM-LNX-ENT-ZKFULP",
          "resourceGroup": "RG-TITANDEMO-ENT"
        },
        {
          "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/RG-TITANDEMO-ENT/providers/Microsoft.Network/networkInterfaces/VM-WIN-ENT-ZKFULPVMNIC/ipConfigurations/IPCONFIGVM-WIN-ENT-ZKFULP",
          "resourceGroup": "RG-TITANDEMO-ENT"
        }
      ],
      "name": "snet-app",
      "privateEndpointNetworkPolicies": "Disabled",
      "privateLinkServiceNetworkPolicies": "Enabled",
      "provisioningState": "Succeeded",
      "resourceGroup": "rg-titandemo-ent",
      "type": "Microsoft.Network/virtualNetworks/subnets"
    },
    {
      "addressPrefix": "10.20.2.0/24",
      "delegations": [],
      "etag": "W/\"6a20cb6a-3efb-4a91-b983-f58c4997df0e\"",
      "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-ent/providers/Microsoft.Network/virtualNetworks/vnet-ent-zkfulp/subnets/snet-data",
      "name": "snet-data",
      "privateEndpointNetworkPolicies": "Disabled",
      "privateLinkServiceNetworkPolicies": "Enabled",
      "provisioningState": "Succeeded",
      "resourceGroup": "rg-titandemo-ent",
      "type": "Microsoft.Network/virtualNetworks/subnets"
    }
  ]
}
vnet-hc-zkfulp vnetssha256 2faf5972d89657f5583e34d8c72d7ec0…
{
  "addressSpace": {
    "addressPrefixes": [
      "10.10.0.0/16"
    ]
  },
  "location": "eastus2",
  "name": "vnet-hc-zkfulp",
  "subnets": [
    {
      "addressPrefix": "10.10.1.0/24",
      "delegations": [],
      "etag": "W/\"4029938c-ec47-43c9-80a6-0a6ffeabe093\"",
      "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-hc/providers/Microsoft.Network/virtualNetworks/vnet-hc-zkfulp/subnets/snet-app",
      "ipConfigurations": [
        {
          "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/RG-TITANDEMO-HC/providers/Microsoft.Network/networkInterfaces/VM-LNX-HC-ZKFULPVMNIC/ipConfigurations/IPCONFIGVM-LNX-HC-ZKFULP",
          "resourceGroup": "RG-TITANDEMO-HC"
        },
        {
          "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/RG-TITANDEMO-HC/providers/Microsoft.Network/networkInterfaces/VM-WIN-HC-ZKFULPVMNIC/ipConfigurations/IPCONFIGVM-WIN-HC-ZKFULP",
          "resourceGroup": "RG-TITANDEMO-HC"
        }
      ],
      "name": "snet-app",
      "privateEndpointNetworkPolicies": "Disabled",
      "privateLinkServiceNetworkPolicies": "Enabled",
      "provisioningState": "Succeeded",
      "resourceGroup": "rg-titandemo-hc",
      "type": "Microsoft.Network/virtualNetworks/subnets"
    },
    {
      "addressPrefix": "10.10.2.0/24",
      "delegations": [],
      "etag": "W/\"4029938c-ec47-43c9-80a6-0a6ffeabe093\"",
      "id": "/subscriptions/4f29d094-1079-44c9-acb0-4d73a7a2dd34/resourceGroups/rg-titandemo-hc/providers/Microsoft.Network/virtualNetworks/vnet-hc-zkfulp/subnets/snet-data",
      "name": "snet-data",
      "privateEndpointNetworkPolicies": "Disabled",
      "privateLinkServiceNetworkPolicies": "Enabled",
      "provisioningState": "Succeeded",
      "resourceGroup": "rg-titandemo-hc",
      "type": "Microsoft.Network/virtualNetworks/subnets"
    }
  ]
}
kv-hc-zkfulp keyvaultssha256 56aba4328d48a4623fa6503bc6260b8a…
{
  "name": "kv-hc-zkfulp",
  "public": true,
  "purge_protection": false,
  "rbac": false,
  "secrets": [
    {
      "expires": null,
      "name": "api-integration-key"
    },
    {
      "expires": null,
      "name": "db-admin-password"
    },
    {
      "expires": null,
      "name": "storage-connection-string"
    }
  ],
  "soft_delete": true
}
kv-ent-zkfulp keyvaultssha256 61fec74caf2bcf3cd586df5238061220…
{
  "name": "kv-ent-zkfulp",
  "public": true,
  "purge_protection": false,
  "rbac": false,
  "secrets": [
    {
      "expires": null,
      "name": "api-integration-key"
    },
    {
      "expires": null,
      "name": "db-admin-password"
    },
    {
      "expires": null,
      "name": "storage-connection-string"
    }
  ],
  "soft_delete": true
}
lb-ent-zkfulp lbssha256 a684fdbf6eb0864ae98ab019e1fceea0…
{
  "loadBalancingRules": [],
  "location": "eastus2",
  "name": "lb-ent-zkfulp"
}
lb-hc-zkfulp lbssha256 ced51cc89d87ceed64c32502adae89ca…
{
  "loadBalancingRules": [],
  "location": "eastus2",
  "name": "lb-hc-zkfulp"
}
sb-hc-zkfulp servicebussha256 d436a9ae7186f8df5dbb96c8711d39a8…
{
  "location": "eastus2",
  "minimumTlsVersion": "1.2",
  "name": "sb-hc-zkfulp",
  "sku": {
    "name": "Basic",
    "tier": "Basic"
  }
}
sb-ent-zkfulp servicebussha256 e0f996ecb0391256344f9c5ce5d4d7a4…
{
  "location": "eastus2",
  "minimumTlsVersion": "1.2",
  "name": "sb-ent-zkfulp",
  "sku": {
    "name": "Basic",
    "tier": "Basic"
  }
}
pip-lb-ent-zkfulp public_ipssha256 2ad8289bcc67cf565b18d8cf1d079180…
{
  "ipAddress": "40.70.31.35",
  "location": "eastus2",
  "name": "pip-lb-ent-zkfulp",
  "publicIPAllocationMethod": "Static",
  "sku": {
    "name": "Standard",
    "tier": "Regional"
  }
}
vm-lnx-ent-zkfulpPublicIP public_ipssha256 166a664a5af9f57aee5e9df8bc09305d…
{
  "ipAddress": "20.242.87.167",
  "location": "eastus2",
  "name": "vm-lnx-ent-zkfulpPublicIP",
  "publicIPAllocationMethod": "Dynamic",
  "sku": {
    "name": "Basic",
    "tier": "Regional"
  }
}
vm-win-ent-zkfulpPublicIP public_ipssha256 12a0a2842ebdf081c5d1bc97997cf377…
{
  "ipAddress": "20.230.94.2",
  "location": "eastus2",
  "name": "vm-win-ent-zkfulpPublicIP",
  "publicIPAllocationMethod": "Dynamic",
  "sku": {
    "name": "Basic",
    "tier": "Regional"
  }
}
pip-lb-hc-zkfulp public_ipssha256 ef331bd7a39f1c50a8431439a7e5e2c8…
{
  "ipAddress": "20.119.170.204",
  "location": "eastus2",
  "name": "pip-lb-hc-zkfulp",
  "publicIPAllocationMethod": "Static",
  "sku": {
    "name": "Standard",
    "tier": "Regional"
  }
}
vm-lnx-hc-zkfulpPublicIP public_ipssha256 7bc62111c6f663bcbeea1ddd2c608ef0…
{
  "ipAddress": "40.70.241.193",
  "location": "eastus2",
  "name": "vm-lnx-hc-zkfulpPublicIP",
  "publicIPAllocationMethod": "Dynamic",
  "sku": {
    "name": "Basic",
    "tier": "Regional"
  }
}
vm-win-hc-zkfulpPublicIP public_ipssha256 c44ae73f4d6d7664df84500bbf9e48cd…
{
  "ipAddress": "20.22.203.132",
  "location": "eastus2",
  "name": "vm-win-hc-zkfulpPublicIP",
  "publicIPAllocationMethod": "Dynamic",
  "sku": {
    "name": "Basic",
    "tier": "Regional"
  }
}

Threat intelligence currency

Threat-intelligence currency was not checked in this run. Treat vulnerability-derived findings as unverified for recency.

Scope boundary — what was NOT assessed

Read this before relying on the result. The following areas were not evaluated in this run. They are reported as not assessed, never as passed. Absence of a finding in these areas is not evidence of compliance.