AWS S3 Lambda — Real-Time Cloud Scanner
How it works
New S3 object in any org account / any region
│
│ CloudTrail data event (PutObject / CompleteMultipartUpload)
▼
EventBridge rule in source account
(deployed via CloudFormation StackSet)
│
│ events:PutEvents (cross-account, org-scoped)
▼
Central EventBridge event bus
(management / security account)
│
│ Lambda invocation
▼
highvolt-aws-s3-lambda
1. Parse CloudTrail event → bucket, key, region, account ID
2. STS AssumeRole → OrganizationAccountAccessRole in source account
3. S3 GetObject (cross-account, cross-region)
4. MIME detection (magic bytes, first 1 MB)
5. SHA256 / SHA1 / MD5 hashing + base64 encode (single-pass stream)
6. Query highvolt-server by SHA256 — skip if already analyzed
7. Submit to highvolt-serverStartup (cold start)
Per-invocation handler
Deduplication
AWS Infrastructure
Central account resources
Resource
Description
Member account resources (deployed via CloudFormation StackSet)
Resource
Description
Org-level CloudTrail (optional)
IAM requirements
Lambda execution role
Member accounts
Environment variables
Variable
Required
Description
Secrets Manager secret format
Configuration (via JSONAir)
Deployment
Prerequisites
Requirement
Notes
Post-deployment verification
Submitted JSON structure
Comparison with aws-s3 (batch scanner)
Notes
Last updated