Cloud Health Check · AWS

Full visibility into your AWS infrastructure. In minutes.

35+ services. Every enabled region. Read-only, no agents. Weighted risk scoring - and a signed report your board, and NCSA, can actually read.

35+
AWS services evaluated
24
Regions scanned
68/100
Weighted risk score
~14m
End-to-end run time
Audit summary
nscoe-production · 123456789012
SIGNED · Ed25519
68
Needs attention
3 critical · 6 high findings
Regions scanned24 of 24 enabled
Services evaluated21 checks
Weakest regionme-central-1
Last runRepresentative · 14:22 AST, 6 Oct 2026
chmod +x aws-security-enabled-audit.sh
./aws-security-enabled-audit.sh
How it works

From CloudShell to a signed board report in four steps.

01

Run read-only script

Paste one command into AWS CloudShell. Only get/describe/list calls - nothing is changed.

02

Upload the output

Drop the generated .md/.txt into Cloud Health. No credentials ever leave your account.

03

Weighted risk scoring

Each gap is scored in context - region sensitivity, blast radius, exploitability - not a flat checklist.

04

Signed report

A timestamped, Ed25519-signed PDF with a prioritised remediation plan mapped to Qatar NIA v2.1.

Posture overview

Every check scored, weighted, ranked.

Service posture

Findings by severity

Risk interpretation. Posture is strong in eu-west-1 and eu-central-1, but materially weaker in me-central-1, the UAE Region, where this account keeps its Gulf workloads (AWS has no Region in Qatar). The critical findings there would each constitute a reportable NIA control gap.
Service matrix

Every service the read-only script inventories.

Status distinguishes Enabled / Partial / Disabled / No permission / Unavailable - because an AccessDenied is not the same as "switched off."

ServiceScopeStatusRiskFindingRecommendationEffort
Region map

24 regions. One of them matters most today.

Healthy Partial / warning Critical gap Dots: GuardDuty · Config · Flow Logs · EBS enc · WAF · CloudTrail · Macie · Inspector
Critical findings

The six that would fail an audit tomorrow.

The pre-flight script

Read-only. Agentless. Runs in your own CloudShell.

  • Only LIST / DESCRIBE / GET calls - never create, enable, update or delete.
  • Scans every region your account has opted into, so nothing is misreported as "disabled."
  • Distinguishes Enabled, Disabled, No permission and Unavailable explicitly.
  • Writes a timestamped .md and .txt report to your home directory.
  • No third-party dependencies, no outbound calls, nothing persisted outside your account.
Download the script→
#!/usr/bin/env bash
set -uo pipefail
export AWS_PAGER=""

# AWS Security Baseline - READ-ONLY inventory
# ------------------------------------------------------------
# Purpose:
#   Show which key AWS security/visibility services are
#   already enabled. This script makes LIST/DESCRIBE/GET
#   calls only. It DOES NOT enable, disable, create,
#   update, or delete anything.
#
# Default:
#   Scan every AWS Region that is opted-in or enabled.
#
# Optional:
#   SCAN_ALL_REGIONS=0 REGION=eu-west-1 ./aws-...sh
#
# Output:
#   ~/aws-security-enabled-audit-YYYYmmdd-HHMMSS.md
#   ~/aws-security-enabled-audit-YYYYmmdd-HHMMSS.txt

SCAN_ALL_REGIONS="${SCAN_ALL_REGIONS:-1}"
REGION="${REGION:-${AWS_REGION:-eu-west-1}}"
TS="$(date -u +%Y%m%d-%H%M%S)"
REPORT_MD="$HOME/aws-security-enabled-audit-${TS}.md"
REPORT_TXT="$HOME/aws-security-enabled-audit-${TS}.txt"

have() { command -v "$1" >/dev/null 2>&1; }
if ! have aws; then
  echo "ERROR: AWS CLI is required."; exit 1
fi

ACCOUNT_ID="$(aws sts get-caller-identity \
  --query Account --output text 2>/dev/null)"
# ... 18 service checks across all regions follow ...
spark software · Cloud Health Report 68 SHA-256 9f2a..c71e Ed25519 signed 14:22 AST · 2026-10-06 ✓ VERIFIED OFFLINE
Signed evidence

A posture snapshot an auditor can trust.

Every finding is hashed, chained, and signed with an offline-verifiable Ed25519 key. The report proves exactly what your posture was at 14:22 AST on 6 Oct 2026 - and your next scan proves the remediation.

For a national regulator that is the point: defensible evidence, before-and-after proof, and verification that does not depend on trusting Spark's servers. Maps directly to NIA v2.1 logging and assurance controls.

Download sample report (PDF)→